我需要这样做:
$ export PYRO_HMAC_KEY=123
$ python -m Pyro4.naming
所以,我发现第二个可能与
有关subprocess.Popen(['python','-m','Pyro4.naming'])
但是之前如何导出shell变量?
答案 0 :(得分:18)
更新现有环境......
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)
答案 1 :(得分:8)
子流程函数接受一个env
参数,该参数可以给出要在过程中使用的环境变量的映射:
subprocess.Popen(['python','-m','Pyro4.naming'], env={'PYRO_HMAC_KEY': '123'})
答案 2 :(得分:0)
尝试os.putenv():http://docs.python.org/library/os.html#os.putenv