Numpy 向后兼容性:找不到 Visual C++ 9

Numpy backwards compatibility: Visual C++ 9 not found

我从 sourceforge 下载了 numpy-1.10.1,我有 Python 2.7。我提取,重命名并进入 site-packages 下的 numpy 目录。我运行

python setup.py install

命令,得到了this error message。我有 Microsoft Visual C++ 2013 Redistributable,它要求版本 9。

C:\Python27\Lib\site-packages\numpy
$ python setup.py install

[lots of text]
error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat) Get it from http://aka.ms/vcpython27

为什么不向后兼容?

Python 2.7 使用 Visual Studio 9,它于 2008 年问世。当您构建 Python 扩展时,您 必须 使用与构建包相同的编译器。所以不幸的是,如果您想自己构建它,则必须下载它。您也许可以使用 Microsoft Visual C++ Compiler for Python 2.7,但我还没有用 numpy 对其进行测试。

另一方面,如果您不想下载新的编译器(您甚至无法再通过 Microsoft 网站 find Visual Studio 9),您可以从 Christoph Gohlke's website 下载预制轮子。如果您没有充分的理由自己构建它,我建议您这样做。可以下载numpy wheel,然后pip install "C:\path\to\numpy‑1.9.3+mkl‑cp27‑none‑win_amd64.whl".

有一些方法可以在某处使用某些版本的 MinGW 构建扩展,但我不确定该怎么做。不过,Christoph Gohlke 的扩展程序运行良好,我建议只下载这些扩展程序。

Microsoft 为 python 编译器维护单独的页面。这个link就是你想要的。它可以快速下载和安装。不需要 pip wheel 或任何东西。

https://www.microsoft.com/en-us/download/details.aspx?id=44266