2

Mac fink installOS X コンピューターに次の Python バージョンをインストールしました。

  • python2.3
  • python2.4
  • python2.5
  • python2.6.

さらに、私のシステムでpythonはエイリアスですpython2.6

  1. バージョン 2.6 の代わりに python 2.5 を使用する必要がある場合など、eggをインストールしたいと考えています。エイリアスeasy_install networkx-0.36-py2.5.eggを変更せずにこれは可能ですか?python

  2. networkx-0.36-py2.5networkx-1.0rc1-py2.6並行してインストールできるかどうか、またその方法を教えてください。

  3. 異なる Python バージョンで使用できるようにサイト パッケージをインストールするにはどうすればよいですか?

4

2 に答える 2

3

easy_installsetuptoolsパッケージ の一部です。には、python 2.5 と python 2.6 用のFink個別のパッケージがあります。setuptools

fink install setuptools-py25 setuptools-py26

networkxその後、両方のバージョンをダウンロードしてインストールできます。

/sw/bin/easy_install-2.5 networkx
/sw/bin/easy_install-2.6 networkx

パッケージの特定のバージョンが必要な場合:

/sw/bin/easy_install-2.5 networkx==0.36
/sw/bin/easy_install-2.6 networkx==0.36
于 2009-10-15T10:18:46.947 に答える
2

編集:これを読む前にNed Deilyの答えを読んでください


1.

私のシステムでは、python バージョンごとに異なる easy_install スクリプトがあります。

  • /usr/bin/easy_install-2.5
  • /usr/bin/easy_install-2.6

2.6 バージョンの内容は次のようになります。

#!/System/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python
import sys
sys.argv[0] = sys.argv[0].replace('-2.6', '')
# EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==0.6c9','console_scripts','easy_install'
__requires__ = 'setuptools==0.6c9'
import sys
from pkg_resources import load_entry_point

sys.exit(
   load_entry_point('setuptools==0.6c9', 'console_scripts', 'easy_install')()
)

マシンにこれらのスクリプトがまだない場合は、上記をテンプレートとして使用してスクリプトを作成できます。最初の行を変更して、正しい Python インタープリターを指すようにします。おそらく次のようなものです:

#!/sw/bin/python23

そして、現在のスクリプト名と一致するように 3 行目を変更します。つまり、スクリプトが easy_install-2.3 という名前の場合、次のようになります。

sys.argv[0] = sys.argv[0].replace('-2.3', '')

もちろん、setuptools バージョン 0.6c9 を使用していない場合は、これも変更する必要があります。


別の方法は、easy_install スクリプトを正しい Python バージョンの引数として実行することです。このような:

$ python23 /some/path/easy_install networkx-0.36-py2.5.egg

2.

Python の各バージョンには異なる site-lib があるため、互いに独立しています。Python のバージョンごとに異なるモジュールとバージョンをインストールできます。

3.

環境変数 PYTHONPATH が共通ディレクトリを指すようにするか、共通ディレクトリをスクリプトのsys.pathに追加することができます。ただし、一部のモジュールは特定の python バージョンでのみ動作し、python バージョンごとにコンパイルする必要がある C コードが含まれていることに注意してください...

于 2009-10-15T08:46:46.660 に答える