10

我需要这样做:

$ export PYRO_HMAC_KEY=123
$ python -m Pyro4.naming

所以,我发现第二个可能与

subprocess.Popen(['python','-m','Pyro4.naming'])

但是在那之前如何导出shell变量?

4

3 回答 3

28

要更新现有环境...

import os, subprocess

d = dict(os.environ)   # Make a copy of the current environment
d['PYRO_HMAC_KEY'] = '123'
subprocess.Popen(['python', '-m', 'Pyro4.naming'], env=d)
于 2012-08-06T19:45:40.707 回答
8

子流程函数接受一个env参数,该参数可以给定环境变量的映射以在流程中使用:

subprocess.Popen(['python','-m','Pyro4.naming'], env={'PYRO_HMAC_KEY': '123'})
于 2012-08-06T19:32:57.410 回答
0

尝试 os.putenv():http ://docs.python.org/library/os.html#os.putenv

于 2012-08-06T19:35:07.643 回答