我一直在尝试在新安装的CentOS 8上安装一段软件。安装过程和软件本身在CentOS 7上运行良好,但我的任务是在CentOS 8上安装它。
目前的主要问题是缺少一些python包。具体来说,我无法获得以下包名:
MySQL-python
libxml2-python
numpy
python-imaging
python2-pyside
python-netifaces当然,我可以通过pip2安装库,但它似乎不能满足依赖关系。
我们是否需要更新依赖项,并可能更改一些代码,或者是否有办法让它按原样工作?我更倾向于使用EPEL 8,但无论如何,我在EPEL 7上也有同样的错误。
发布于 2020-04-07 12:07:54
CentOS 8基于RHEL 8,它切换到Python3作为缺省值。许多Python2包不再可用,或者已经更改名称-例如,Python2的NumPy是python2-numpy。
从纯Pythonic的角度来看,在您的情况下最好的方法是使用虚拟环境:安装CentOS python2-virtualenv包,然后运行
python2 -m virtualenv --system-site-packages yourenv(将yourenv替换为您想要给您的虚拟环境命名的名称,它也是在其中创建的目录),并用
source yourenv/bin/activate然后,您可以使用pip install安装您的Python依赖项,而不会影响虚拟环境之外的系统。
不过,我觉得您使用的是包,它依赖于RPM包。这将很难解决,最好的方法将取决于其他因素。如果已打包的软件可用于Python 3,我将考虑将其改为打包;否则,您可以尝试重做现有的软件包,但与使用虚拟环境相比,有相当大的可能性要复杂得多…
详情请参见RHEL 8中的Python。
https://unix.stackexchange.com/questions/578450
复制相似问题