情景简介:

  Windows 环境下安装Python2.7的Numpy扩展包时提示:error: Unable to find vcvarsall.bat
  经过不懈的Google/Bing,发现不仅安装Numpy时会出现这种情况,安装其他Python包时也可能出现这种情况。
Windows 7 64bit
Python 2.7
Numpy-1.9.2 (http://sourceforge.net/projects/numpy/files/NumPy/1.9.2/numpy-1.9.2-win32-superpack-python2.7.exe)

问题描述:

第一个坑:下载Numpy二进制安装包说“Python version 2.7 required, which was not found in the registry.” 。错误如图1所示:

第二个坑:无奈只能下载源码自己编译了!下载源码(http://sourceforge.net/projects/numpy/files/NumPy/1.9.2/numpy-1.9.2.zip)

将下载的.zip解压
打开命令行,进入根目录
输入:setup.py install
最后提示:error: Unable to find vcvarsall.bat

 

解决方案:

  上面提到的那两个坑,解决其一就可以让包正常安装了

  1.解决第一个坑(这里只提供思路,不具体介绍了)

出现这个问题可能是因为你的OS是64bit的,但是安装的包却一直在32bit的注册表内寻找Python
StackOverfolow上好多高票答案貌似可以解决了,如:http://stackoverflow.com/questions/3652625/installing-setuptools-on-64-bit-windows,这里我就不在赘述了

  2.解决第二个坑

出现这个原因的问题貌似跟vc编译器有关,具体原因没有细究,但是经Google/Bing,得到的结论是,安装过程中需要一个特定版本的编译器(貌似是VS 2008),所以就算你有VS 2012/2013/2015也不行...
下载一个Microsoft Visual C++ Compiler for Python 2.7的补丁就好了,下载地址在这里:http://www.microsoft.com/en-us/download/details.aspx?id=44266
安装上述补丁后,我再次输入:setup.py install,依旧提示我error: Unable to find vcvarsall.bat
然而此时直接在命令行窗口中输入:pip install numpy竟然可以了!

 

吐个槽暴露一下自己的无知...Python的包竟然用VC编译器编译?...

pip install numpy之后发现进程里有cl...