Запустите программу в python с другой средой - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть начальный сценарий python, для которого я установил определенную c среду (LD_LIBRARY_PATH, ...). В этом сценарии я хочу вызвать другую программу, которая также требует определенной среды c, которая не совместима с первой. Я пробовал команды os.system и subprocess, но похоже, что при запуске этих команд они сохраняют исходную среду.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 01 апреля 2020

subprocess.Popen() принимает параметр env , который вы можете использовать, например, для дополнения текущей среды дополнительной вещью,

proc = subprocess.Popen(..., env={**os.environ, 'LD_LIBRARY_PATH': '/something/'})

или для его полной замены,

proc = subprocess.Popen(..., env={'LD_LIBRARY_PATH': '/something/'})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...