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 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
You can get and set environment variables via
import os user_home = os.environ["HOME"] os.environ["PYTHONPATH"] = "..."
But since your interpreter is already running, this will have no effect. You're better off using
import sys sys.path.append("...")
which is the array that your
PYTHONPATH will be transformed into on interpreter startup.