В скрипте Python, как установить PYTHONPATH?
Я знаю, как установить его в моем /etc/профиле и в моих переменных окружения.
но что, если я хочу установить это в сценарий? Это импорт ОС, sys? Как мне это сделать?
6 ответов:
не указан
PYTHONPATH
, вы добавляете записи вsys.path
. Это список каталогов, которые следует искать для пакетов Python, поэтому вы можете просто добавить свои каталоги в этот список.sys.path.append('/path/to/whatever')
в самом деле
sys.path
инициализируется путем разбиения значенияPYTHONPATH
на пути разделитель (:
на Linux-подобных системах,;
в Windows).вы также можете добавить каталоги с помощью
site.addsitedir
, и этот метод будет также учесть.pth
файлы, существующие в каталогах, которые вы передаете. (Это не относится к каталогам, которые вы указываете вPYTHONPATH
.)
вы можете получить и установить переменные окружения через
os.environ
:import os user_home = os.environ["HOME"] os.environ["PYTHONPATH"] = "..."
но так как ваш переводчик уже работает, это не будет иметь никакого эффекта. Вам лучше использовать
import sys sys.path.append("...")
который является массивом, что ваш
PYTHONPATH
будет преобразован в при запуске интерпретатора.
извините за повторное открытие вопроса, но я думаю, что это может помочь кому-то:
Если поставить
sys.path.append('dir/to/path')
без проверки он уже добавлен, вы можете создать длинный список вsys.path
. Для этого я рекомендую следующее:import sys import os # if you want this directory try: sys.path.index('/dir/path') # Or os.getcwd() for this directory except ValueError: sys.path.append('/dir/path') # Or os.getcwd() for this directory
мне жаль, если я раздражал кого-то, вновь открывая вопрос.
PYTHONPATH заканчивается в sys.путь, который можно изменить во время выполнения.
import sys sys.path += ["whatever"]