Fehlende Python-Pakete unter CentOS 8

Fehlende Python-Pakete unter CentOS 8

Seit einer Woche versuche ich, eine Software auf einer Neuinstallation von CentOS 8 zu installieren. Der Installationsvorgang und die Software selbst funktionieren auf CentOS 7 einwandfrei, aber ich sollte sie auf CentOS 8 installieren.

Das Hauptproblem besteht derzeit darin, dass einige Python-Pakete fehlen. Insbesondere kann ich die folgenden Paketnamen nicht abrufen:

MySQL-python
libxml2-python
numpy
python-imaging
python2-pyside
python-netifaces

Ich kann die Bibliotheken natürlich über pip2 installieren, aber es scheint die Abhängigkeiten nicht zu erfüllen.

Müssen wir die Abhängigkeiten aktualisieren und vielleicht etwas Code ändern oder gibt es eine Möglichkeit, es so wie es ist zum Laufen zu bringen? Am besten mit EPEL 8, aber mit EPEL 7 bekomme ich sowieso die gleichen Fehler.

Antwort1

CentOS 8 basiert auf RHEL 8, das standardmäßig auf Python 3 umgestellt hat. Viele Python 2-Pakete sind nicht mehr verfügbar oder haben ihren Namen geändert – NumPy für Python 2 ist beispielsweise python2-numpy.

Aus rein pythonischer Sicht ist die beste Vorgehensweise in Ihrer Situation die Verwendung einer virtuellen Umgebung: Installieren Sie das CentOS- python2-virtualenvPaket und führen Sie dann

python2 -m virtualenv --system-site-packages yourenv

(ersetzen Sie es yourenvdurch den Namen, den Sie Ihrer virtuellen Umgebung geben möchten, der gleichzeitig das Verzeichnis ist, in dem sie erstellt wird) und aktivieren Sie die Umgebung mit

source yourenv/bin/activate

Sie können dann Ihre Python-Abhängigkeiten installieren, pip installohne das System außerhalb der virtuellen Umgebung zu beeinträchtigen.

Ich habe jedoch den Eindruck, dass Sie ein Paket mit Abhängigkeiten von RPM-Paketen verwenden. Das wird schwieriger zu beheben sein, und der beste Ansatz hängt von anderen Faktoren ab. Wenn die gepackte Software für Python 3 verfügbar ist, würde ich stattdessen versuchen, das zu packen; andernfalls könnten Sie versuchen, das vorhandene Paket zu überarbeiten, aber es besteht eine gute Chance, dass das komplizierter ist als die Verwendung einer virtuellen Umgebung ...

SehenPython in RHEL 8für Details.

verwandte Informationen