2017-06-03 1 views
0

Je teste le comportement de scons sur MAC, j'ai essayé « import os » pour construire à partir de la variable d'environnement, comme celui-ci:scons "import os" n'importe pas la variable d'environnement de mon système d'exploitation?

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

Alors j'ai essayé de l'exécuter, semble toujours la variable d'environnement n'est pas importé par "env = environnement (eNV = os.environ)" déclaration

$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] 

J'utilise la version:

$/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 

Où ai-je tort, comment y remédier?

Répondre

1

Essayez:

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

L'environnement présenté aux commandes gérées par SCons est env [ 'ENV'], et non lui-même env.