Я знаю, как установить его в моем/etc/profile и в моих переменных среды.
Но что, если я хочу установить его во время сценария? Это, импортируют OS, sys? Как я делаю это?
Вы не устанавливаете PYTHONPATH
, вы добавляете записи в sys.path
. Это список каталогов, в которых следует искать пакеты Python, поэтому вы можете просто добавить свои каталоги в этот список.
sys.path.append('/path/to/whatever')
Фактически, sys.path
инициализируется путем разделения значения PYTHONPATH
на символ разделителя пути (:
в Linux-подобных системах, ];
в Windows).
Вы также можете добавить каталоги с помощью site.addsitedir
, и этот метод также будет учитывать файлы .pth
, существующие в переданных вами каталогах. (Это не относится к каталогам, указанным в PYTHONPATH
.)
PYTHONPATH оказывается в sys.path, который вы можете изменить во время выполнения.
import sys
sys.path += ["whatever"]
Вы можете получить и установить переменные окружения через os.environ
:
import os
user_home = os.environ["HOME"]
os.environ["PYTHONPATH"] = "..."
Но поскольку ваш интерпретатор уже запущен, это не будет иметь никакого эффекта. Лучше использовать
import sys
sys.path.append("...")
массив, в который будет преобразован ваш PYTHONPATH
при запуске интерпретатора.