バンドルされていたpython2.5.1を使っていたのですが、幾つかの理由から
portsでインストールしたpython2.5.4(以下python@ports)を使いたい状況です。
ところが今までにeasy_installでインストール済みのライブラリが、python@portsからインポートできません。
sys.pathを見たところ、python@ports実行時はライブラリがインストールされている
/Library/Python/2.5/site-packages以下のeggファイル群へのパスが通っていない事を確認しました。
そこで、このライブラリを自動的にパスに追加する方法を教えて下さい。
easy_install.pthをロードすれば良いと考えているのですが、上手く情報を探せませんでした。
なお手動で以下を行うと、期待した挙動を示します。
import site; site.addsitedir('/Library/Python/2.5/site-packages')
スクリプトに毎回書かずにパスの追加を実行するということでよければ、
site.pyを作成し、パスの通っているディレクトリに配置し、
その中でパスを追加する、、、ということではないのでしょうか。
自動とおっしゃられる意味が良くわかりませんでした。
site.pyはpython動作時に毎回参照されます。
pythonのドキュメント
http://www.python.jp/doc/pdf/release/inst.pdf (PDF)
作成するsite.pyファイルの例(例のところだけを参照してください)
TRTr 様
ご回答ありがとうございます。
この内容がまさに知りたい事でした!
site.pyが自動的にロードされる事を知らなかったので、
何かフックのような仕組みがあるはずと思い質問させて頂きました。
僕の環境の場合、site.pyが既に存在していたので、それを修正する事で期待していた
挙動を得る事が出来ました。また提示頂いたpdfファイルに記述されていたのですが、
環境変数のPYTHONHOMEを設定する事でも同様の挙動が得られました。
pythonの起動時の仕組みについても勉強になりました。ありがとうございました。