情景簡介:
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...