我想改变Python执行进程的环境。正确的方法似乎是与os.environ交互。然而,以下断言失败:
import os, subprocess
os.environ['ATESTVARIABLE'] = 'value'
value = subprocess.check_output(['echo', '$ATESTVARIABLE'], shell=True)
assert 'value' in value
我需要做些什么来改变当前的环境? 上面的代码揭示了我的Python理解中的哪个缺陷呢?
(请注意,在当前的Python解释器中,os.environ ['ATESTVARIABLE']
包含预期的值。我正在设置运行一些需要特定环境变量的代码,并且可能启动外部进程。显然,如果我想要控制特定子进程的环境,我会使用env关键字。)