获取当前环境

时间:2013-07-19 22:53:53

标签: python global-variables environment-variables scons

我知道我可以在我的SConstruct中创建一个新的环境,并且在某种程度上,它可以工作,并且环境会沿着执行线程传递。

这是我的Sconstruct:

env = Environment() 
env.SConscript('site_scons/environment.py', 'env')
Export('env')  

这是environment.py

from SCons.Script import Import # Seems like it's not really needed
Import('env')
env = env.Clone() # NameError: name 'env' is not defined:

有趣的是,如果我在Clone调用之后放置一个breackpoint ,我可以使用env对象,稍后会引发异常

      5 env = env.Clone()
----> 6 import ipdb; ipdb.set_trace()

ipdb> env
<SCons.Script.SConscript.SConsEnvironment object at 0x2b3dad0>
ipdb> c
NameError: name 'env' is not defined:

是否有正确的方法来获取当前正在运行的环境?

请注意,我需要在python模块中使用环境对象,而不仅仅是SConscript。

1 个答案:

答案 0 :(得分:1)

我认为您需要明确export env才能import它。见here 所以,像

env = Environment(tools=['default', 'qt4'])
Export('env')