20

当我尝试运行时遇到问题:

pip install numpy

我得到:

unable to find vcvarsall.bat.

我遵循了这个过程:使用 Pip 安装 Python 包时如何使用 MinGW 的 gcc 编译器?.

  • 我安装了 MinGW 并检查了 C++ 编译器选项
  • 我将 MinGW 添加到我的路径中

这是我的路径

 C:\Python33\;%SYSTEMROOT%\SYSTEM32;%SYSTEMROOT%;%SYSTEMROOT%\SYSTEM32\WBEM;%SYSTEMROOT%\SYSTEM32\WINDOWSPOWERSHELL\V1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Python33\;C:\Python33\Scripts;C:\MinGW\bin;
  • 我用以下几行创建了 distutils.cfg

    [build]
    compiler=mingw32
    

在这里:

C:\Python33\Lib\distutils\distutils.cfg

仍然得到同样的错误,不知道我做错了什么。

我使用的是 Windows 8 系统(32 位),Python 3.3。我安装了 Visual Studio 12.0,我希望最终将其用作我的 Python IDE。

谢谢你的帮助!

编辑:

easy_install numpy

工作无故障。

4

5 回答 5

11

正如其他人已经提到的,您的计算机上似乎没有安装 Microsoft Visual Studio 2010。旧版本的 Python 使用 Visual Studio 2008,但现在使用的是 2010 版本。特别是 2010 版本用于编译一些代码(不是 2008、2013 或任何其他版本)。

发生的情况是安装程序正在您的环境变量中查找 Visual Studio 2010 工具。请注意,Visual Studio 2008 或 2013 将不起作用,因为编译器专门寻找 2010 版本的工具。

要查看您是否确实正确设置了 2010 版本,请右键单击我的电脑。然后转到“属性”。在打开的窗口中,左侧应该有一个“高级系统设置”选项。在打开的新窗口中,转到“高级”选项卡,然后单击“环境变量”按钮。在“系统变量”中,应该有一个名为“VS100COMNTOOLS”的变量,它指向 Visual Studio 2010 工具目录。在我的系统上,这是“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\”。

如果您有不同版本的 Visual Studio,上面的一位用户建议是一种解决方法。例如,我有一个 2013 版本的 Visual Studio,因此我有一个名为“VS120COMNTOOLS”的变量,它指向 2013 工具集。由于 Visual Studio 的版本共享许多相同的工具,您可以使用新版本或旧版本的 Visual Studio 编译 Python,只需添加一个名为“VS100COMNTOOLS”的新变量,其值为 %VS120COMNTOOLS%,或VS120COMNTOOLS 指向的目录。在这种情况下,当 Python 尝试编译时,它会认为它正在使用 2010 工具,但实际上它会在您的系统(或您拥有的任何版本的 Visual Studio)上使用 2013 工具。当然,这样做可能会导致问题,但我的猜测是一切都会正常工作。

最好的方法是安装 Visual Studio 2010 express(我认为这是免费的)。

于 2014-04-11T08:34:16.533 回答
8

我正在使用相同的设置,安装 Visual Studio 2010 Express 对我来说是最简单的解决方案。 http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express

Python 3.3 是使用 VS 2010 构建的。 http://blog.python.org/2012/05/recent-windows-changes-in-python-33.html

于 2013-08-02T21:45:04.620 回答
5

您可以坚持使用 Visual Studio,但您必须将其“重定向”到您已安装的那个。就我而言,我有 VS 2012,Python 3.3

SET VS100COMNTOOLS=%VS110COMNTOOLS%

这将使 pip 使用 VS2012 的 vcvarsall.bat 文件。旧版本的 python 可能需要更改 VS 90 COMNTOOLS 变量。

于 2013-10-26T20:37:02.343 回答
4

我有同样的问题。我有 VS2012 和 python 2.7

在 cmd 工具中运行以下命令

设置 VS90COMNTOOLS=%VS110COMNTOOLS%

然后使用 pip install

有效。

于 2013-12-20T03:48:11.423 回答
2

我在 Windows 8 上遇到了同样的问题,从http://www.lfd.uci.edu/~gohlke/pythonlibs/帮助下载和安装编译numpy库。

于 2013-09-17T15:24:36.193 回答