У меня возникла проблема с настройкой переменной среды при вызове subprocess.Popen
. Кажется, что переменная среды не устанавливается. Любые предложения о том, как правильно установить переменные среды для вызова командной строки Python?
Моя цель - запустить script, который использует переменную среды, определенную из моего кода Python:
d = dict(os.environ)
d["TEST_VARIABLE"] = str(1234)
subprocess.Popen('/usr/bin/mybinary', env=d).wait()
но script реагирует так, как будто переменная никогда не была установлена
Вот моя попытка протестировать, используя интерактивный интерпретатор Python:
d = dict(os.environ)
d["TEST_VARIABLE"] = str(1234)
subprocess.Popen(['/bin/echo', '$TEST_VARIABLE'], env=d).wait()
а выход:
"$TEST_VARIABLE"
0
Я думал, что env=d
должен установить среду для подпроцесса, но, по-видимому, этого не делает. Любые предложения по устранению этой проблемы?