如何从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'
>>>

其他回答

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

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

import os
os.environ.get('PYTHONPATH', '').split(os.pathsep)
import sys
for a in sys.path:
    a = a.replace('\\\\','\\')
    print(a)

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

你可能还想要这个:

import sys
print(sys.path)

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

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

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

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

使用命令,

$ which python

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

$ conda activate <env>

or

$ mamba activate <env>

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