2017-06-03 111 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中。