如何从Python脚本(或交互式shell)中找出系统的PYTHONPATH变量中列出了哪些目录?


当前回答

Python告诉我它在哪里,当它给我一个错误消息:)

>>> import os
>>> os.environ['PYTHONPATH'].split(os.pathsep)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\martin\AppData\Local\Programs\Python\Python36-32\lib\os.py", line 669, in __getitem__
    raise KeyError(key) from None
KeyError: 'PYTHONPATH'
>>>

其他回答

如果使用conda,可以使用os.environ["CONDA_PREFIX"]获取env前缀。

import sys
for a in sys.path:
    a = a.replace('\\\\','\\')
    print(a)

它将为Windows中的位置提供所有的路径。

在windows 10中工作,基本上与vanuan的答案相同,但更干净(从某个地方,不记得在哪里..):

import sys
for p in sys.path:
    print(p)

sys。path可能包含PYTHONPATH环境变量中没有特别包含的项。要直接查询变量,使用:

import os
try:
    user_paths = os.environ['PYTHONPATH'].split(os.pathsep)
except KeyError:
    user_paths = []

你可能还想要这个:

import sys
print(sys.path)

或者从终点站出发的一条航线:

python -c "import sys; print('\n'.join(sys.path))"

注意:如果你安装了多个版本的Python,你应该使用相应的命令python2或python3。