64
debian@debian:~$ echo $PYTHONPATH  
/home/qiime/lib/:  
debian@debian:~$ python  
Python 2.7.3 (default, Jan  2 2013, 16:53:07)   
[GCC 4.7.2] on linux2  
Type "help", "copyright", "credits" or "license" for more information.  
>>> import sys  
>>> sys.path  
['', '/usr/local/lib/python2.7/dist-packages/feedparser-5.1.3-py2.7.egg',   
'/usr/local/lib/python2.7/dist-packages/stripogram-1.5-py2.7.egg', '/home/qiime/lib', 
'/home/debian', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2',   
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-
dynload',   '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10',  
'/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7']    

PYTHONPATHbashですべての出力を取得するにはどうすればよいですか?
なぜ echo $PYTHONPATHそれらすべてを取得できないのですか?

4

6 に答える 6

109

環境変数PYTHONPATHは、実際には、Python がモジュールを検索する場所のリストにのみ追加されます。次のように、ターミナルで完全なリストを印刷できます。

python -c "import sys; print(sys.path)"

または、UNIX ディレクトリ リスト スタイル (で区切られた:) で出力が必要な場合は、次のようにします。

python -c "import sys; print(':'.join(x for x in sys.path if x))"

次のようなものが出力されます。

/usr/local/lib/python2.7/dist-packages/feedparser-5.1.3-py2.7.egg:/usr/local/lib/
python2.7/dist-packages/stripogram-1.5-py2.7.egg:/home/qiime/lib:/home/debian:/us
r/lib/python2.7:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib
/python2.7/lib-old:/usr/lib/python2.7/lib- dynload:/usr/local/lib/python2.7/dist-
パッケージ:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages/PIL:/u
sr/lib/python2.7/dist-packages/gst-0.10:/usr/lib/python2.7/dist-packages/gtk-2.0:
/usr/lib/pymodules/python2.7
于 2013-04-29T01:17:39.667 に答える
19

書くだけ:

端末に書き込むだけwhich pythonで、使用している python パスが表示されます。

于 2016-03-22T06:00:13.990 に答える
10

Python 3.x を使用している人は、次のようにする必要があります。

python -c "import sys; print(sys.path)"
于 2015-11-18T21:49:14.657 に答える
8

Python は、起動時に、以下を含む一連の値をロードしますsys.path(これは、文字列のリストを介して「実装」されます)。

  • さまざまなハードコーディングされた場所
  • の値$PYTHONPATH
  • おそらくスタートアップファイルからのいくつかのもの(Pythonが持っているかどうかはわかりませんrcfiles

$PYTHONPATHの最終的な値の一部にすぎませんsys.path

の値を求めている場合はsys.path、Python に問い合わせるのが最善の方法です (@Codemonkey に感謝):

python -c "import sys; print sys.path"
于 2013-04-29T01:20:34.580 に答える