我知道我可以在我的 SConstruct 中创建一个新的环境,并且以某种方式,它可以工作并且环境会沿着执行线程传递。
这是我的结构:
env = Environment()
env.SConscript('site_scons/environment.py', 'env')
Export('env')
这是环境.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
调用之后放置断点,我可以使用 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。
最佳答案
我认为您需要显式导出
环境才能导入
它。请参阅here
所以,就像
env = Environment(tools=['default', 'qt4'])
Export('env')
关于python - 获取当前环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17756716/