一週間、私は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パッケージは使用できなくなったり、名前が変更されました。たとえば、Python 2用のNumPyはですpython2-numpy
。
純粋にPythonicの観点から見ると、あなたのための最善のアプローチは仮想環境を使用することです。 CentOSpython2-virtualenv
パッケージをインストールして実行します。
python2 -m virtualenv --system-site-packages yourenv
(yourenv
仮想環境に付与する名前に変更します。これは仮想環境が作成されるディレクトリでもあります。)次に、次のように環境を有効にします。
source yourenv/bin/activate
その後、次のコマンドを使用して、pip install
仮想環境外のシステムに影響を与えずにPython依存関係をインストールできます。
しかし、私の考えでは、RPMパッケージに依存するパッケージを使用しているようです。この問題は解決するのがより困難であり、最善のアプローチは他の要因によって異なります。パッケージ化されたソフトウェアをPython 3で利用できる場合は、パッケージ化することを検討してください。それ以外の場合は、既存のパッケージを再設計してみることもできますが、仮想環境を使用するよりも複雑になる可能性があります。
バラよりRHEL 8のPythonもっと学ぶ。