我在設置環境變量時遇到問題,請致電subprocess.Popen
。環境變量似乎沒有被設置。關於如何正確設置Python命令行調用的環境變量的任何建議?Python:在subprocess.Popen中導出環境變量(..)
我的目標是運行使用從我的Python代碼確定的環境變量的腳本:
d = dict(os.environ)
d["TEST_VARIABLE"] = str(1234)
subprocess.Popen('/usr/bin/mybinary', env=d).wait()
但腳本反應彷彿變量從未設置
這裏是我的嘗試測試中,使用Python的交互式解釋:
d = dict(os.environ)
d["TEST_VARIABLE"] = str(1234)
subprocess.Popen(['/bin/echo', '$TEST_VARIABLE'], env=d).wait()
,輸出是:
"$TEST_VARIABLE"
0
我認爲env=d
應該爲子過程設置環境,但它顯然沒有。有關如何解決此問題的任何建議?
的問題是不是環境而是替代,如解釋由接受的答案。 – 2016-08-22 16:11:19
確實如此,但帖子的標題顯示爲「導出」,所以這很有用。 – gerardw 2017-07-31 14:45:38