2010-10-28 79 views

回答

2

SO搜索,你会发现充分的讨论。

[编辑:基于注释下]

当你运行setup.py在Windows上安装,distutils来查找vcvarsall.bat运行。

关于vcvarsall.bat

VCVarsall.bat在Visual Studio Visual Studio命令提示符工具。它允许您为集成开发环境(IDE)设置各种选项,以及从命令行构建,调试和部署项目。

如果没有找到这个文件什么

Solution 1: Hunt the file

  1. 的distutils有vcvarsall.bat的硬编码路径。
  2. 找到以vc * .bat或vc * .cmd开头的文件。为MS编译器工具链设置命令行环境的文件。该位置对于不同版本的Visual Studio安装程序不一致。如果你正在运行32位版本,那么你应该能够找到vcvars32.bat。
  3. 将其放在distutils期望的目录中。
+0

不幸的是基于MinGW的解决方案不能工作。据我所知,VC2008是必要的。这不适合我。 – DSblizzard 2010-10-28 12:27:52

+0

Python 2,7建于VC 2008,但OP说他有Visual Studio 7.1,它没有'vcvarsall.bat'。 'distutils'试图使用Python本身的相同编译器来构建扩展。有一种方法可以覆盖它,但它不适用于我试图安装的扩展。我正在考虑但尚未尝试的一种可能的解决方案是下载并安装免费的[Visual Studio Express 2008 SP1](http://www.microsoft.com/downloads/en/details.aspx?FamilyId= F3FBB04E-92C2-4701-B4BA-92E26E408569&displaylang = en)版本,然后重试。 – martineau 2010-11-09 19:19:21

+0

@martineau:您的扩展应该使用与编译python相同的编译器进行编译。否则,问题太多了。是的,使用免费版本是个好主意。通常情况下,你应该找到vcvarsall.bat。 MS经常改变这种方法! – pyfunc 2010-11-09 19:42:07