在Python中调用vcvarsall.bat并使用其env变量

时间:2018-11-02 17:34:05

标签: python-3.x windows cmd build

我正在尝试用python脚本替换处理项目的旧批处理脚本。我知道子进程模块,但是我不知道如何调用vcvarsall.bat,该文件设置编译我们的项目并继续输入命令所必需的环境变量。我需要的是连续运行这3个命令的python代码:

cmd.exe /k ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"" amd64

qmake config+=somevars

nmake Somevars

像这样简单地调用vcvarsall.bat:

subprocess.check_output(["C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat", "amd64"])

不会以后续命令可访问的方式设置环境变量。

我在基于Windows10的Docker容器和Python3.6中

1 个答案:

答案 0 :(得分:0)

按照@lit的建议使用3行.bat文件解决了该问题:

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
qmake config+=somevars
nmake Somevars

并使用Popen().wait()进行调用,请参见here