Я знаю, как установить его в моем / etc / profile и в переменных окружения.
Но что, если я захочу установить его во время сценария? Это import os, sys? Как мне это сделать?
Я знаю, как установить его в моем / etc / profile и в переменных окружения.
Но что, если я захочу установить его во время сценария? Это import os, sys? Как мне это сделать?
Вы не устанавливаете PYTHONPATH
, вы добавляете записи в sys.path
. Это список каталогов, в которых следует искать пакеты Python, поэтому вы можете просто добавить свои каталоги в этот список.
sys.path.append('/path/to/whatever')
Фактически, sys.path
инициализируется разделением значения PYTHONPATH
на символ разделителя пути ( :
в Linux-подобных системах, ;
в Windows).
Вы также можете добавлять каталоги с помощью site.addsitedir
, и этот метод также будет учитывать .pth
файлы, существующие в каталогах, которые вы передаете. (Это не относится к каталогам, которые вы указываете PYTHONPATH
.)
sys.path.insert(0, '/path/to/whatever')
.Вы можете получить и установить переменные среды с помощью
os.environ
:Но поскольку ваш интерпретатор уже запущен, это ни на что не повлияет. Тебе лучше использовать
который является массивом, в который вы
PYTHONPATH
будете преобразованы при запуске интерпретатора.источник
Если поставить
sys.path.append('dir/to/path')
без проверки, что он уже добавлен, можно сгенерировать длинный список в форматеsys.path
. Для этого я рекомендую это:источник
PYTHONPATH попадает в sys.path , который вы можете изменить во время выполнения.
источник
вы можете установить
PYTHONPATH
,os.environ['PATHPYTHON']=/some/path
затем вам нужно вызватьos.system('python')
перезапуск оболочки Python, чтобы новый добавленный путь стал эффективным.источник
os.system()
не «перезапускает оболочку Python», а запускает новый интерактивный экземпляр Python. Когда вы вернетесь из этого, вы снова окажетесь в вызывающем сценарии.Я Linux это тоже работает:
источник