【发布时间】:2017-11-09 22:14:18
【问题描述】:
在我的 scons 脚本中,我执行了另一个 python 脚本:
fs = env.Command('fs', None, 'python updatefs.py')
AlwaysBuild(fs)
Depends(fs, main)
在 python 脚本中我试图访问一个环境变量:
import os
mode = os.environ['PROC_MODE']
该变量先前已在 shell 中设置:
export PROC_MODE='some_mode'
Python 抱怨:
KeyError: 'PROC_MODE'
将环境传播到外部脚本的正确方法是什么?
【问题讨论】:
-
作为一种解决方法,我现在将此变量作为参数传递给脚本,但恕我直言,这是一种丑陋的方法
-
我怀疑 env.Command 正在创建另一个 shell 实例。如果您有两个 shell 实例(在 py 之外),它们可以访问彼此的环境变量吗?
标签: python environment-variables scons