在我的scons脚本中,我执行另一个python脚本:
fs = env.Command('fs', None, 'python updatefs.py')
AlwaysBuild(fs)
Depends(fs, main)
在python脚本中,我试图访问一个环境变量:
import os
mode = os.environ['PROC_MODE']
该变量先前已在shell中设置:
export PROC_MODE='some_mode'
Python抱怨:
KeyError: 'PROC_MODE'
将环境传播到外部脚本的正确方法是什么?
答案 0 :(得分:1)
常见问题解答中简单介绍了这一点:
基本上,SCons构造了一组干净的可重复的环境变量,这样任何用户环境的差异都不会破坏构建。
因此,如果您想从shell传播特定变量,可以明确地这样做:
env['ENV']['MY_VARIABLE']=os.environ['MY_VARIABLE']
如果您想要改进所有环境变量,请执行以下操作:
env['ENV'] = os.environ
env是你的环境()