Há uma semana estou tentando instalar um software em uma nova instalação do CentOS 8. O processo de instalação e o software em si funcionam bem no CentOS 7, mas fui encarregado de instalá-lo no CentOS 8.
O principal problema agora é que alguns pacotes python estão faltando. Especificamente, não consigo obter os seguintes nomes de pacotes:
MySQL-python
libxml2-python
numpy
python-imaging
python2-pyside
python-netifaces
É claro que posso instalar as bibliotecas via pip2, mas isso não parece satisfazer as dependências.
Teremos que atualizar as dependências e talvez alterar algum código ou existe uma maneira de fazê-lo funcionar como está? De preferência com EPEL 8, mas de qualquer maneira recebo os mesmos erros com EPEL 7.
Responder1
CentOS 8 é baseado no RHEL 8, que mudou para Python 3 como padrão. Muitos pacotes do Python 2 não estão mais disponíveis ou mudaram de nome — por exemplo, NumPy para Python 2 é python2-numpy
.
De uma perspectiva puramente Pythonic, a melhor abordagem na sua situação é usar um ambiente virtual: instale o python2-virtualenv
pacote CentOS e execute
python2 -m virtualenv --system-site-packages yourenv
(substituindo yourenv
pelo nome que você deseja dar ao seu ambiente virtual, que também será o diretório em que ele foi criado), e ative o ambiente com
source yourenv/bin/activate
Você pode então instalar suas dependências do Python pip install
sem afetar o sistema fora do ambiente virtual.
Porém tenho a impressão de que você está usando um pacote, com dependências de pacotes RPM. Isso será mais difícil de resolver e a melhor abordagem dependerá de outros fatores. Se o software empacotado estiver disponível para Python 3, eu procuraria empacotá-lo; caso contrário, você poderia tentar retrabalhar o pacote existente, mas há uma boa chance de que isso seja mais complicado do que usar um ambiente virtual...
VerPython no RHEL 8para detalhes.