人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

pythonのパスについて質問させて下さい。環境はOSX Leopardです。

バンドルされていた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')

●質問者: taichino
●カテゴリ:コンピュータ
✍キーワード:egg Leopard OSX ports Python
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● TRTr
●100ポイント ベストアンサー

スクリプトに毎回書かずにパスの追加を実行するということでよければ、

site.pyを作成し、パスの通っているディレクトリに配置し、

その中でパスを追加する、、、ということではないのでしょうか。

自動とおっしゃられる意味が良くわかりませんでした。


site.pyはpython動作時に毎回参照されます。

pythonのドキュメント

http://www.python.jp/doc/pdf/release/inst.pdf (PDF)

作成するsite.pyファイルの例(例のところだけを参照してください)

http://d.hatena.ne.jp/chrono-meter/20090228/p1

◎質問者からの返答

TRTr 様

ご回答ありがとうございます。

この内容がまさに知りたい事でした!

site.pyが自動的にロードされる事を知らなかったので、

何かフックのような仕組みがあるはずと思い質問させて頂きました。

僕の環境の場合、site.pyが既に存在していたので、それを修正する事で期待していた

挙動を得る事が出来ました。また提示頂いたpdfファイルに記述されていたのですが、

環境変数のPYTHONHOMEを設定する事でも同様の挙動が得られました。

pythonの起動時の仕組みについても勉強になりました。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ