MacPorts でインストールしたばかりの Python ライブラリ (PIL、psycopg2) をインポートできません。これらのフォーラムを調べ、この問題を解決するためPATH
に変数を調整しようとしました~/.bash_profile
が、うまくいきませんでした。
PIL と psycopg2 の場所を に追加しましたPATH
。ターミナルがで MacPorts によってインストールされたものではなく、
の python バージョンを使用していることはわかっています。/usr/local/bin
/opt/local/bin
ターミナルで python を使用するときに、PIL と psycopg2 が sys.path 上にあることを確認するには、MacPorts バージョンの Python を使用する必要がありますか? MacPorts バージョンの Python に切り替える必要がありますか? それとも、さらに問題が発生しますか?
参考になればと思い、さらに事実を記します。
PIlとpsycopg2は、/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages
which python
戻り値/usr/bin/python
$ echo $PATH
戻り値(読みやすくするために各パスを分離しました):
:/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
上記のいずれかが愚かだったり、考えが不十分だったりする場合は、批判やコメントをお待ちしています。私はこのすべてについて初心者です。よろしくお願いします!
MacBook ProでOSX 10.6.5を実行し、ターミナルからpython 2.6.1を呼び出す
答え1
Python をインストールした後、「notes」コマンドを使用します (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
、python26
デフォルトのPythonとして選択する必要があります。その後、MacPortsを使用してPILとpyscopg2をインストールした場合(つまり、 などport install py26-psycopg2 py26-pil
)、指定する必要はありません。何でもにあります。また、にディレクトリPYTHONPATH
を追加する必要はありません。これを行うと、は を返すはずです。 で MacPorts によってインストールされた Python ポートは、すでにMacPorts Python の にあります。これまでそれらを見つけられなかったのは、MacPorts Python パッケージを認識しない System Python (つまり ) を使用していたためです。/opt/local/Library/Frameworks/…
PATH
which python
/opt/local/bin/python
/opt/local/Library/Frameworks/Python.framework
sys.path
/usr/bin/python
答え2
私考える私は自分の質問の答えを見つけました。~/.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
問題なく動作します。