質問: デフォルトのpythonpath(sys.path)をグローバルに変更する方法は? ubuntu(10.10)システムでは、pythonパッケージをインストールして/usr/local/lib/python2.6/site-packages/にインストールします。これはデフォルトのパス(sys.path)に含まれていません)。このディレクトリをパスに追加しますか?$pythonpath環境変数を設定することはもちろん解決策ですが、これを行うためのよりエレガントな方法を探しています。たとえば、easy_installもインストールされたパッケージをその中に入れ、私のsys.pathは次のようになります。['', '/usr/local/lib/python2.6/dist-packages/keyring-0.5.1-py2.6.egg', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/pil', '/usr/lib/pymodules/python2.6', '/usr/lib/pymodules/python2.6/gtk-2.0'] したがって、パスは明らかにpythonバイナリに組み込まれているデフォルトではありません。上記のエントリを含む単一の構成ファイルはありますか?それともどのように変更できますか?
回答: pythonのパスの変更に関する私の調査結果をまとめたいと思います。それには2つの方法があります。 。pthファイル pythonpath any。pthファイルがデフォルトのパス(以下を参照)にある場合、その内容はsys.pathに含まれます。上記の。pthファイルの形式は単純です。1行に1つの(フォルダー)パスがあります。驚いたことに、パスは。pthファイルに対して絶対パスまたは相対パスにすることができます。デフォルトのパスはインタープリターが存在する場所で、<some-prefix>/lib/python<version>/site-packagesは<some-prefix>が通常/usr/です。pythonpathは、オペレーティングシステムの環境変数です。 unixシステムでは、envでリストします。このような変数のグローバルな変更は、@ testuser16418で言及されているように、/etc/profile.d/フォルダー内の。shスクリプトによって行われます。