1

您好我想在 python 脚本中执行 msbuild

由于我不在 Visual Studio 开发人员命令提示符下运行它,所以我运行

 "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat"

然后我做

  msbuild example.props

如何在 python 中运行它?我试着做

 subprocess.call('\"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\\vcvarsall.bat\"\n')

然后打电话

 subprocess.call(['msbuild', filename]) # filename is string variable

但我收到一条错误消息,说它找不到指定的文件。我很确定应该有办法做到这一点,但我找不到方法。谢谢你的帮助!

4

1 回答 1

1

因为您没有使用shell=Trueto 选项call,所以每个调用本质上是相互隔离的。因此,获取 .bat 文件对第二次调用没有影响。添加shell=True两个调用,以便第一个调用可以影响第二个调用。

注意:我只推荐shell=True这里,因为很明显它只在一个平台(Windows)上运行,所以不会有跨平台问题。

于 2013-01-25T19:32:29.527 回答