Windows 下安装Python包(Numpy)的错误:Unable to find vcvarsall.bat
情景简介:
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...