1 週間、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
。
純粋にPythonの観点から言えば、あなたの状況では仮想環境を使うのが最善のアプローチです。CentOSpython2-virtualenv
パッケージをインストールし、
python2 -m virtualenv --system-site-packages yourenv
(yourenv
仮想環境に付けたい名前に置き換えてください。これは仮想環境が作成されるディレクトリでもあります)、環境をアクティブ化します。
source yourenv/bin/activate
pip install
その後、仮想環境外のシステムに影響を与えることなく、を使用して Python 依存関係をインストールできます。
しかし、RPM パッケージに依存するパッケージを使用している印象を受けます。これは修正が難しく、最善のアプローチは他の要因によって異なります。パッケージ化されたソフトウェアが Python 3 で利用できる場合は、代わりにそれをパッケージ化することを検討します。そうでない場合は、既存のパッケージを作り直すこともできますが、仮想環境を使用するよりも複雑になる可能性が高くなります...
見るRHEL 8 の Python詳細については。