CentOS 8 で Python パッケージが見つからない

CentOS 8 で Python パッケージが見つからない

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詳細については。

関連情報