Windows 下安装Python包(Numpy)的错误:Unable to find vcvarsall.bat

情景简介:

  Windows 环境下安装Python2.7的Numpy扩展包时提示:error: Unable to find vcvarsall.bat

  经过不懈的Google/Bing,发现不仅安装Numpy时会出现这种情况,安装其他Python包时也可能出现这种情况。

  1. Windows 7 64bit
  2. Python 2.7
  3. 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)

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

解决方案:

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

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

  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...

原文地址:https://www.cnblogs.com/exlsunshine/p/4593026.html