我和我的设置SCons环境变量为Visual Studio 2008
通常我挣扎如下:如何设置vsvars32环境变量?
%VS90COMNTOOLS%vsvars32.bat
or
call %VS90COMNTOOLS%vsvars32.bat
而且这部作品在我的壳。
我尝试使用子
subprocess.call([os.environ['VS90COMNTOOLS']+r"\vsvars32.bat"])
输出做,在蟒蛇:以上
d:\N\workspace>scons test
scons: Reading SConscript files ...
Setting environment for using Microsoft Visual Studio 2008 x86 tools.
KeyError: 'INCLUDE':
调用批处理过程,但环境变量没有从它继承我的“主进程。
当我使用:
subprocess.call([os.environ['VS90COMNTOOLS']+r"\vsvars32.bat"])
我得到:
d:\N\workspace>scons test
scons: Reading SConscript files ...
WindowsError: [Error 2] The system cannot find the file specified:
File "D:\N\workspace\SConstruct", line 17:
subprocess.Popen(["call ", os.environ['VS90COMNTOOLS']+r"\vsvars32.bat"])
File "C:\Python26\lib\subprocess.py", line 595:
errread, errwrite)
File "C:\Python26\lib\subprocess.py", line 821:
startupinfo)
如何实现这一目标?
我没有考虑这种方式,但似乎没有办法使用python子进程库(没有神秘的隐藏选项;)。 所以我会接受你的答案。 – bua 2010-10-15 09:43:20
没有办法做到这一点的原因是因为每个进程都有自己的环境,环境只能传给子进程,而不能传递给父进程。因此,我们使用“带外”通信方法将值应该*的值传递给父项。 – 2010-10-15 09:52:10