I know how to set it in my /etc/profile and in my environment variables.
But what if I want to set it during a script? Is it import os, sys? How do I do it?
You don't set PYTHONPATH
, you add entries to sys.path
. It's a list of directories that should be searched for Python packages, so you can just append your directories to that list.
sys.path.append('/path/to/whatever')
In fact, sys.path
is initialized by splitting the value of PYTHONPATH
on the path separator character (:
on Linux-like systems, ;
on Windows).
You can also add directories using site.addsitedir
, and that method will also take into account .pth
files existing within the directories you pass. (That would not be the case with directories you specify in PYTHONPATH
.)