我在设置环境变量时遇到问题,请致电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