В сценарии Python, как я устанавливаю PYTHONPATH?

Я знаю, как установить его в моем/etc/profile и в моих переменных среды.

Но что, если я хочу установить его во время сценария? Это, импортируют OS, sys? Как я делаю это?

101
задан TIMEX 24 June 2010 в 08:25
поделиться

3 ответа

Вы не устанавливаете PYTHONPATH , вы добавляете записи в sys.path . Это список каталогов, в которых следует искать пакеты Python, поэтому вы можете просто добавить свои каталоги в этот список.

sys.path.append('/path/to/whatever')

Фактически, sys.path инициализируется путем разделения значения PYTHONPATH на символ разделителя пути (: в Linux-подобных системах, ]; в Windows).

Вы также можете добавить каталоги с помощью site.addsitedir , и этот метод также будет учитывать файлы .pth , существующие в переданных вами каталогах. (Это не относится к каталогам, указанным в PYTHONPATH .)

174
ответ дан 24 November 2019 в 04:40
поделиться

PYTHONPATH оказывается в sys.path, который вы можете изменить во время выполнения.

import sys
sys.path += ["whatever"]
5
ответ дан 24 November 2019 в 04:40
поделиться

Вы можете получить и установить переменные окружения через os.environ:

import os
user_home = os.environ["HOME"]

os.environ["PYTHONPATH"] = "..."

Но поскольку ваш интерпретатор уже запущен, это не будет иметь никакого эффекта. Лучше использовать

import sys
sys.path.append("...")

массив, в который будет преобразован ваш PYTHONPATH при запуске интерпретатора.

33
ответ дан 24 November 2019 в 04:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: