【发布时间】:2013-02-04 23:26:32
【问题描述】:
我正在尝试通过 python 脚本构建一个大型系统。我首先需要为 Visual Studio 设置环境。遇到问题,我决定看看是否可以设置并启动 Visual Studio。我先设置了几个环境变量,然后调用C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat x64。
一旦完成,我会致电devenv /useenv。如果我从命令提示符处执行这些操作,一切正常,我可以在 VS 中做我需要做的事情。我的python代码是:
import os
vcdir=os.environ['ProgramFiles(x86)']
arch = 'x64'
command = 'CALL "' +vcdir+'\\Microsoft Visual Studio 11.0\\VC\\vcvarsall.bat" '+arch
os.system(command)
command = "CALL devenv /useenv"
os.system(command)
如果我运行它,bat 文件将运行,当它尝试 devenv 命令时,我发现它无法识别。看起来 bat 文件在与运行脚本的子进程不同的子进程中运行。我真的需要在我当前的进程中运行它。我的最终目标是在 python 脚本中完成整个构建,并且会多次调用devenv 来完成大部分构建。
谢谢。
【问题讨论】:
-
subprocess它会解决你所有的问题 -
@JakobBowyer:不,
subprocess本身并不能解决这个问题,因为它没有解决根本问题。 -
@MichaelB 我和你有类似的问题。我问了 [this] (stackoverflow.com/questions/38790813/how-can-i-run-cl-using-x64/…) 问题,现在我可以通过答案进行编译了。我现在要做的是从
os.system()执行这个命令。你知道我该如何配置它,以便os.system()在 Visual Studio x64 Win64 命令提示符(2010)中运行 cmd 并在运行 cmd 之前执行 vcvarsall.bat 文件?谢谢
标签: python build visual-studio-2012