2017-06-03 108 views
0

我测试的MAC scons的行为,我试过“导入OS”从环境变量来构建,像这样:scons“import os”没有导入我的OS环境变量?

$cat SConstruct 
import os 
env=Environment(ENV=os.environ) 
kkk=env['MY'] 

然后我试图运行它,似乎仍是环境变量没有进口通过 “ENV =环境(ENV = os.environ)” 语句

$export MY='haha' 
$/usr/local/bin/scons 
scons: Reading SConscript files ... 
KeyError: 'MY': 
    File "/Users/my/SConstruct", line 3: 
    kkk=env['MY'] 
    File "/usr/local/Cellar/scons/2.5.1/libexec/scons-local/SCons/Environment.py", line 410: 
    return self._dict[key] 

我使用scons的版本:

$/usr/local/bin/scons -v 
SCons by Steven Knight et al.: 
    script: v2.5.1.rel_2.5.1:3735:9dc6cee5c168[MODIFIED], 2016/11/03 14:02:02, by bdbaddog on mongodog 
    engine: v2.5.1.rel_2.5.1:3735:9dc6cee5c168[MODIFIED], 2016/11/03 14:02:02, by bdbaddog on mongodog 
    engine path: ['/usr/local/Cellar/scons/2.5.1/libexec/scons-local/SCons'] 
Copyright (c) 2001 - 2016 The SCons Foundation 

我从哪里得到错误,如何解决呢?

回答

1

尝试:

import os 
env=Environment(ENV=os.environ) 
my_env_value=env['ENV']['MY'] 

环境呈现给由SCons的运行命令是ENV [ 'ENV'],而不是本身env中。