2017-06-03 8 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のではありません。

関連する問題