Отсутствующие пакеты Python в CentOS 8

Отсутствующие пакеты Python в CentOS 8

В течение недели я пытаюсь установить программное обеспечение на свежеустановленную версию CentOS 8. Процесс установки и само программное обеспечение отлично работают на CentOS 7, но мне было поручено установить его на CentOS 8.

Основная проблема сейчас в том, что отсутствуют некоторые пакеты python. В частности, я не могу получить следующие имена пакетов:

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

Конечно, я могу установить библиотеки через pip2, но, похоже, это не удовлетворяет всем зависимостям.

Придется ли нам обновить зависимости и, возможно, изменить какой-то код, или есть способ заставить его работать как есть? Желательно с EPEL 8, но у меня все равно возникают те же ошибки с EPEL 7.

решение1

CentOS 8 основан на RHEL 8, который перешел на Python 3 в качестве языка по умолчанию. Многие пакеты Python 2 больше не доступны или изменили названия — например, NumPy для Python 2 — это python2-numpy.

С чисто питонской точки зрения наилучшим подходом в вашей ситуации будет использование виртуальной среды: установите python2-virtualenvпакет CentOS, затем запустите

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

(заменив yourenvна имя, которое вы хотите дать своей виртуальной среде, которое также будет каталогом, в котором она создана), и активируйте среду с помощью

source yourenv/bin/activate

Затем вы можете установить зависимости Python, pip installне влияя на систему за пределами виртуальной среды.

Однако у меня сложилось впечатление, что вы используете пакет с зависимостями от пакетов RPM. Это будет сложнее исправить, и наилучший подход будет зависеть от других факторов. Если упакованное программное обеспечение доступно для Python 3, я бы рассмотрел вариант упаковки его вместо этого; в противном случае вы можете попробовать переработать существующий пакет, но есть приличный шанс, что это будет сложнее, чем использование виртуальной среды...

ВидетьПитон в RHEL 8для получения подробной информации.

Связанный контент