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"]
Вы можете установить
PYTHONPATH, поos.environ['PATHPYTHON']=/some/path, затем вам нужно вызватьos.system('python'), чтобы перезапустить оболочку python, чтобы сделать новый добавленный путь эффективным.
Comments