質問: pythonの異なるバージョンを使用する 背景:python別のpythonバージョンで実行する必要があるプログラムを開発しているので、コンピュータにpythonの異なるバージョンをインストールしました。私はfc 13を使用しているため、python 2.6が/usr/bin/python2.6および/usr/lib/python2.6にプリインストールされています。私はpython 2.5をソースからインストールしました。問題を解決するために、--prefix=/usrオプションを使用しました。これは、python in /usr/bin/python2.5をインストールしました。および/usr/lib/python2.5。pythonを実行すると、プロンプトにバージョン2.5を使用していることが表示されます。ただし、インストールに関していくつか問題があります。パッケージ管理:easy_installを使用すると、パッケージは常に/usr/lib/python2.6/site-packages/にインストールされます。 python 2.5のsetuptools .eggをダウンロードしてインストールしようとしましたが、エラーが発生しました:/usr/lib/python2.5/site-packages does not support .pth files python2.5がpythonpathにないようです。デフォルトのインストールではpythonpathに自動的に追加されると思っていましたが、promtでecho $pythonpathを書き込むと、空の行しか表示されません。
回答: easy_installを使用すると、パッケージは常に/usr/lib/python2.6/site-packages/にインストールされます これは、distutilsがインストールされるすべてのスクリプトにshebang行を追加するためです。 easy_installスクリプトを直接実行すると、スクリプトがインストールされたインタープリターで実行されます(shebang行による)。実行されているeasy_installは、pathではなくpythonpathによって異なります。 python 2.5インスタンスにパッケージをインストールする場合、使用するpythonインタープリターを指定してeasy_installを実行する必要があります。/usr/bin/python2.5/python easy_install ... 厳密に言えば、virtualenvはbase pythonのコンテキストで作成する必要があるため、ここでは役に立ちません。これは、easy_installの実行とまったく同じ問題です。それがvirtualenvの--python引数の目的です。何らかの理由でeasy_installは類似の引数を提供しないため、上記のように特定のpythonインタープリターで実行する必要があります。