Mam problem z ustawianiem zmiennej środowiskowej w wywołaniu na subprocess.Popen
. Wydaje się, że zmienna środowiskowa nie jest ustawiana. Wszelkie sugestie, jak poprawnie ustawić zmienne środowiskowe dla wywołania komendy w Pythonie?Python: Eksportowanie zmiennych środowiskowych w podprocesie.Popen (..)
Moim celem jest, aby uruchomić skrypt, który używa zmiennej środowiskowej ustalonej z mojego kodu Pythona:
d = dict(os.environ)
d["TEST_VARIABLE"] = str(1234)
subprocess.Popen('/usr/bin/mybinary', env=d).wait()
ale skrypt reaguje tak, jakby zmienna nie została ustawiona
Oto moja próba badanie przy użyciu Pythona interaktywny interpreter:
d = dict(os.environ)
d["TEST_VARIABLE"] = str(1234)
subprocess.Popen(['/bin/echo', '$TEST_VARIABLE'], env=d).wait()
i wyjście to:
"$TEST_VARIABLE"
0
Myślałem, że env=d
powinien ustawić środowisko dla podprocesu, ale najwyraźniej tak nie jest. Wszelkie sugestie dotyczące rozwiązania tego problemu?
Problemem nie jest środowisko, ale zastąpienie, jak wyjaśniono przez zaakceptowaną odpowiedź. –
Prawda, ale tytuł postów stwierdza "Eksportowanie", więc jest to przydatne. – gerardw