python - 获取当前环境

标签 python global-variables environment-variables scons

我知道我可以在我的 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/

相关文章:

java - 如何更新bashrc文件中的JAVA_HOME

python - 是否可以使用 setdefault 嵌套字典,附加到列表中?

python - Django 中的图像字段是否需要额外的代码

python - 显示动态平面

java - 制作类的全局实例 - JAVA

Python Shell : Global name 't' is not define. 我:但它是

python - 如何在生成器上使用 random.shuffle()? Python

ruby - 我可以通过方法设置全局值吗?

linux - 从 bash 或 node 写入终端环境

linux - Logstash - 找不到任何可执行的 java 二进制文件