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


当前回答

使用命令,

$ which python

记住在正确的环境中输入这个,所以使用:

$ conda activate <env>

or

$ mamba activate <env>

如果没有conda环境,$ which python或$ which python3就可以了。

其他回答

似乎无法修改另一个答案。有一个小错误,因为它是windows独有的。更通用的解决方案是使用os。路径sep如下:

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

import os
os.environ.get('PYTHONPATH', '').split(os.pathsep)

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

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

使用命令,

$ which python

记住在正确的环境中输入这个,所以使用:

$ conda activate <env>

or

$ mamba activate <env>

如果没有conda环境,$ which python或$ which python3就可以了。

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

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

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'
>>>