一週以來,我一直在嘗試在全新安裝的 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 軟體包不再可用,或已更改名稱 - 例如,Python 2 的 NumPy 是python2-numpy
.
從純粹的Pythonic角度來看,您的情況最好的方法是使用虛擬環境:安裝CentOSpython2-virtualenv
包,然後運行
python2 -m virtualenv --system-site-packages yourenv
(替換yourenv
為您想要為虛擬環境指定的名稱,該名稱也將是其建立的目錄),然後使用以下命令啟動環境
source yourenv/bin/activate
然後,您可以使用下列命令安裝 Python 依賴項pip install
,而不會影響虛擬環境以外的系統。
不過,我的印像是您正在使用依賴 RPM 套件的套件。這將更難解決,最好的方法將取決於其他因素。如果打包的軟體可用於 Python 3,我會考慮將其打包;否則,您可以嘗試重新設計現有的包,但很有可能比使用虛擬環境更複雜...
看RHEL 8 中的 Python了解詳情。