webdevqa.jp.net

MacPortsのインストール後にpython)のPATHを正しく取得する

MacPortsでインストールしたばかりのpythonライブラリ(PIL、psycopg2)をインポートできません。これらのフォーラムを調べて、~/.bash_profilePATH変数を調整しようとしました。これを修正するために、しかしそれは機能しませんでした。

PILとpsycopg2の場所をPATHに追加しました。
ターミナルがMacPortsの/usr/local/binにインストールされているバージョンではなく、/opt/local/binのpythonのバージョンを使用していることを知っています。

ターミナルでPythonを使用するときにPILとpsycopg2がsys.pathにあることを確認するために、MacPortsバージョンのpythonを使用する必要がありますか? MacPortsバージョンのPythonに切り替えますか、それともさらに問題が発生しますか?

それが役立つ場合のために、ここにもっと多くの事実があります:

PI1とpsycopg2は/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packagesにインストールされています

which pythonreturns/usr/bin/python

$ echo $PATHreturns(読みやすくするために各パスを区切りました):

:/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/
:/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
:/opt/local/bin
:/opt/local/sbin
:/usr/local/git/bin
:/usr/bin
:/bin
:/usr/sbin
:/sbin
:/usr/local/bin
:/usr/local/git/bin
:/usr/X11/bin
:/opt/local/bin

pythonでは、>>> sys.pathは次を返します。

/Library/Frameworks/SQLite3.framework/Versions/3/Python
/Library/Python/2.6/site-packages/numpy-override
/Library/Frameworks/GDAL.framework/Versions/1.7/Python/site-packages
/Library/Frameworks/cairo.framework/Versions/1/Python
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.Zip
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages
 /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload
/Library/Python/2.6/site-packages
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode

上記のいずれかが愚かであるか、またはよく考えられていないように見える場合は、批判やコメントを歓迎します。私はこれらすべてに不慣れです。ありがとう!

MacBookProでOSX10.6.5を実行し、ターミナルからpython 2.6.1を呼び出す

1
BenjaminGolder

インストール後に 'notes'コマンドを使用しますpython(python26をインストールしたバージョンに変更します):

$ port notes python26

インストール後の推奨事項にはいくつかのバリエーションがあります。

python26 has the following notes:
  To fully complete your installation and make python 2.6 the default,  please
  run:
    Sudo port install python_select
    Sudo port select python python26

python_selectをインストールしてから、デフォルトのPythonとしてpython26を選択する必要があります。次に、MacPortsを使用してPILとpyscopg2を実際にインストールした場合(つまり、port install py26-psycopg2 py26-pilのようなもの)、PYTHONPATHanythingを指定する必要はありません。また、/opt/local/Library/Frameworks/…ディレクトリをPATHに追加する必要はありません。これを行った後、which python/opt/local/bin/pythonを返す必要があります。 Python MacPortsによって/opt/local/Library/Frameworks/Python.frameworkにインストールされたポートはすでにMacPortsPythonのsys.pathにあります。システムを使用していたため以前は見つかりませんでしたPython(つまり、/usr/bin/python)、MacPorts Pythonパッケージの知識がありません。

5
fideli

考える私は私の質問に対する答えを見つけました。 〜/ .bash_profileファイルを編集して含めました

export PYTHONPATH=

次に、sys.pathに既存のパスをすべて追加しました。

export PYTHONPATH=/Library/Frameworks/SQLite3.framework/Versions/3/Python:/Library/Python/2.6/site-packages/numpy-override:/Library/Frameworks/GDAL.framework/Versions/1.7/Python/site-packages:/Library/Frameworks/cairo.framework/Versions/1/Python:/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.Zip:/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6:/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin:/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac:/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages:/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python:/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk:/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old:/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload:/Library/Python/2.6/site-packages:/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC:/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode:/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/:/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages:

次に、MacPortsがインストールされているディレクトリへのパスを追加しました。

/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/:/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages:

sys.pathを印刷すると、MacPortsインストールディレクトリへのパスが含まれています。

/Library/Frameworks/SQLite3.framework/Versions/3/Python
/Library/Python/2.6/site-packages/numpy-override
/Library/Frameworks/GDAL.framework/Versions/1.7/Python/site-packages
/Library/Frameworks/cairo.framework/Versions/1/Python
/Library/Frameworks/SQLite3.framework/Versions/3/Python
/Library/Python/2.6/site-packages/numpy-override
/Library/Frameworks/GDAL.framework/Versions/1.7/Python/site-packages
/Library/Frameworks/cairo.framework/Versions/1/Python
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python26.Zip
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-darwin
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/plat-mac/lib-scriptpackages
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-old
/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-dynload
/Library/Python/2.6/site-packages
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC
/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/wx-2.8-mac-unicode
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages

>>> import PIL

そして

>>> import psycopg2

うまく動作します。

2
BenjaminGolder