The docs for sys.path state the following:
A list of strings that specifies the search path for modules. Initialized from the environment variable PYTHONPATH, plus an installation-dependent default.
So my understanding here is that PYTHONPATH is an environment variable. Environment variables can be printed out in Powershell using the following command:
PS> echo $ENV:VARIABLENAME
However when I do $ENV:PYTHONPATH I get no output. If I try to access PYTHONPATH from a python terminal, I get a 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'
However, I know PYTHONPATH is defined somewhere, because its value does appear when I use 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']
If PYTHONPATH is truly an environment variable, why can't I access it using either Powershell or os in my Python interpreter?
PYTHONPATHis unset. The documentation you quoted does explain this.PYTHONPATH?PYTHONPATH. If you set something as value forPYTHONPATH, then this something is added tosys.pathand Python will look for imports in these directories.