sys.path 的文档说明如下:
指定模块搜索路径的字符串列表。 从环境变量 PYTHONPATH 初始化,加上依赖于安装的默认值。
所以我这里的理解是PYTHONPATH是一个环境变量。可以使用以下命令在 Powershell 中打印环境变量:
PS> echo $ENV:VARIABLENAME
但是,当我执行 $ENV:PYTHONPATH 时,我没有得到任何输出。 如果我尝试从 python 终端访问 PYTHONPATH,我会收到 KeyError:
>>> import os
>>> os.environ["PYTHONPATH"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python310\lib\os.py", line 679, in __getitem__
raise KeyError(key) from None
KeyError: 'PYTHONPATH'
但是,我知道 PYTHONPATH 是在某处定义的,因为当我使用 sys.path 时它的值确实出现了:
>>> import sys
>>> sys.path
['', 'C:\\Python310\\python310.zip', 'C:\\Python310\\DLLs', 'C:\\Python310\\lib', 'C:\\Python310', 'C:\\Users\\aa\\AppData\\Roaming\\Python\\Python310\\site-packages', 'C:\\Python310\\lib\\site-packages', 'C:\\Python310\\lib\\site-packages\\scons-4.4.0-py3.10.egg', 'C:\\Python310\\lib\\site-packages\\colorama-0.3.2-py3.10.egg', 'C:\\Python310\\lib\\site-packages\\win32', 'C:\\Python310\\lib\\site-packages\\win32\\lib', 'C:\\Python310\\lib\\site-packages\\Pythonwin']
如果 PYTHONPATH 确实是一个环境变量,为什么我不能在我的 Python 解释器中使用 Powershell 或 os 访问它?