10

私はこれを行う必要があります:

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

だから、私は2番目のもので行うことが可能であることがわかりました

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

しかし、その前にシェル変数をどのようにエクスポートしますか?

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 に答える