python学习--windows下安装Numpy包的错误:Unable to find vcvarsall.bat

今天在安装numpy包的时候,无论是通过pip install numpy 还是上网下载numpy包后安装都是出现问题:error: Unable to find vcvarsall.bat,于是百度了下,看到Windows下安装Python包(Numpy)的错误:Unabletofindvcvarsall.bat这篇文章,就可以通过pip install numpy成功安装。

===================================================================================================================================================
  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.” 。

第二个坑:无奈只能下载源码自己编译了!下载源码(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…

你可能感兴趣的:(python,numpy)