python 2.4 が自動的にインストールされる redhat 5.8 を使用していますが、python 2.6 以降を必要とする python パッケージを使用しています。SO、システムバージョンを踏まないように、2.4と一緒にpython 2.7をインストールしました。
現在、pip を使用してパッケージをインストールしようとしていますが、次のエラーが発生します。
CompressionError: bz2 module is not available
ただし、これを行うとサーバーバージョンが与えることが証明されるように、私は自分のマシンにモジュールを持っています:
[~]$ python -c "import bz2; print bz2.__doc__"
The python bz2 module provides a comprehensive interface for
the bz2 compression library. It implements a complete file
interface, one shot (de)compression functions, and types for
sequential (de)compression.
2.7 のインストール エラーは次のようになります。
[~]$ python2.7 -c "import bz2; print bz2.__doc__"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named bz2
それで、私はこれらの質問を読みました: すでにインストールされていて、これは非常に良いものですが、どちらも的を射ていないようです。最初のケースでは、アドバイスは不足している部分をインストールすることであり、2 番目の質問は余分な python インストールを削除 (または参照を停止) することです。
私がやりたいことは、シンボリックリンクなどを配置して、python 2.7 インストールが bz2 の場所を認識し、pip を使用して python パッケージをインストールできるようにすることです。
ありがとう、B
編集:詳細
そのため、多くの調査の結果、パス変数が確立される方法が python 2.5 で劇的に変更されたようです (おそらく、Red Hat が更新されなかった理由)。
したがって、python 2.7 では、このフォルダーに .pth 拡張子を持つファイルを追加することで、PYTHONPATH 変数に追加できます。
/usr/local/lib/python2.7/site-packages/
これを適切に機能させるために2つの方法を試しました。
まず、Python 2.4 パス ファイルの数を 2.7 に単純にフィードしました。これにより、別のタイプのエラーが発生しました:
[~]$ python2.7 -c "import bz2; print bz2.__doc__"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: /usr/lib64/python2.4/lib-dynload/bz2.so: undefined symbol: Py_InitModule4
それで、それは何かです。
また、 /usr/lib/ にある libbz2.so ファイルへのパスを指定しようとしましたが、おなじみのエラーが発生しました。
[~]$ python2.7 -c "import bz2; print bz2.__doc__"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named bz2
私はまだ困惑していますが、私は近づいているように感じます.
プログラミング環境のセットアップ経験が豊富な人からの情報を実際に使用できます。私はコードを書くだけでずっと快適です:)