我和我的設置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