web-dev-qa-db-ja.com

PYTHONPATHには何が含まれていますか?

私はいくつかの個人的なpythonライブラリを扱っており、PYTHONPATHに含まれるものを表示してから操作する必要があります。

6
Niccolò

通常、環境変数$PYTHONPATHは空です(echo $PYTHONPATHを試してください)。ライブラリの実際のフォルダpython検索リストは(pythonで)見つけることができます:

import sys
print(sys.path)

これは、現在のディレクトリ、$PYTHONPATH内のディレクトリ、および最後にsite.pyによって設定されたデフォルトのライブラリディレクトリで構成されます(検索順)。主なデフォルトの場所は次のとおりです(X.Yはpythonバージョン、たとえば2.7):

/usr/lib/pythonX.Y (python system libraries, eg re, urllib)
/usr/lib/pythonX.Y/dist-packages (python libraries installed with deb packages)

pip install --userなどを使用してライブラリを自分でインストールする場合、ユーザーライブラリディレクトリも含まれます。

/home/USERNAME/.local/lib/pythonX.Y/site-packages

python(PYTHONPATH=$PYTHONPATH:/foo/bar)を起動する前に環境変数を設定するか、python(sys.path)を開始したらimport sys; sys.path = ["/foo/bar"] + sys.pathを編集することにより、PYTHONPATHを操作できます。

ただし、独自のpythonライブラリを使用する場合は、virtualenvを作成することをお勧めします。これは、システムが使用するpythonライブラリを台無しにするリスクなしに、独自のバージョンのpythonライブラリをいじることができるディレクトリです。 virtualenvの作成と使用については、 buntuで仮想python環境をセットアップして使用する方法 を参照してください。

11
chronitis