错误 Unable to find vcvarsall.bat 的终极无敌最完美的解决办法

Windows 上通过 pip 安装 python 包,经常会出现这种错误。

如:pip install pyodbc。

这种错误的简单明了解释就是:python 编译器找不到计算机上面的 VC 编译器。

解决办法网上也是千奇百怪,我也是数次遇到这个问题,但是一直都没记录,每次都是花费N多时间来解决,今天就记录下解决办法。

首先出问题的开发环境:

python: Python 3.4

计算机: windows 8 or windows 10 or windows server 2012 (都为64位)

首先说下这个错误的根本原因:计算机上没有安装 visual studio c++。

而 visual studio c++ 的版本和 python 的版本又有很多,所以网上有很多针对性的解决办法,但是并不能解决自己的问题。

首先解决核心是安装 visual studio c++,而安装 visual studio c++的途径又有2种,可以自己选一种:

  • 安装 visual studio 2015 或 visual studio 的其他版本。这种方法优点是简单暴力,缺点是需要安装太多无关东西了。
  • 安装 相应的  visual studio c++ 独立包。优点是安装到电脑上的东西少,缺点是可能需要针对计算机的版本来下载对应的独立安装程序。

下面介绍下2个 visual studio c++ 独立包:

  • 如果电脑操作系统是 windows 8 or windows 10 or windows server 2012 (都为64位)中的一种,安装 windows 8 SDK:https://developer.microsoft.com/en-us/windows/downloads/windows-8-1-sdk
  • 如果操作系统是 win7 或者更老的,则可以选择安装 windows 7 SDK:https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/

------------------------------------------------------------------

好,如果你阅读到这里,相信已经安装上了 visual c++。

之后就是要让 python 的编译器找到 visual c++ 的位置,这里也有2种方法,可以任选一种:

  • set SET VS100COMNTOOLS=%VS140COMNTOOLS% ,注意这个命令是再 pip install XXX 前面执行的,执行完后关闭cmd,再执行 pip install XXX(或者不用关闭cmd?记不太清楚了)
  • 修改MSVCCompiler函数:vc_env = query_vcvarsall(VERSION, plat_spec) 为 vc_env = query_vcvarsall(14.0, plat_spec),再执行 pip install XXX

14.0 为 vc++ 的版本号:

Visual Studio 2010 (VS10):SET VS100COMNTOOLS=%VS100COMNTOOLS%
Visual Studio 2012 (VS11):SET VS100COMNTOOLS=%VS110COMNTOOLS%
Visual Studio 2013 (VS12):SET VS100COMNTOOLS=%VS120COMNTOOLS%
Visual Studio 2015 (VS15):SET VS100COMNTOOLS=%VS140COMNTOOLS%

------------------------------------------------

要是还没有解决?请不要在文章下面留言(感谢解决问题的可以留言),因为每个人都 计算器系统和python 版本不同,32位又或者是64位,都不同,不过可以给你建议看看这几个:

https://github.com/mkleehammer/pyodbc/issues/77

https://stackoverflow.com/questions/28251314/error-microsoft-visual-c-10-0-is-required-unable-to-find-vcvarsall-bat

https://www.zhihu.com/question/26857761

祝你顺利。

时间: 2024-10-16 11:03:51

错误 Unable to find vcvarsall.bat 的终极无敌最完美的解决办法的相关文章

安装Firefly错误-Unable to find vcvarsall.bat

晚上尝试安装Firefly时,在安装twisted时出现错误而退出. 根据错误提示如下: error: Setup script exited with error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat) 发现我当前安装的Python 2.7.5搜索的是Visual Studio 2008.但是,我电脑里只有VS2010,真心不想再装个2008.网络搜索找到如下的初始答案如下: 第一种方案-欺骗法

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

python记录Unable to find vcvarsall.bat错误信息

在安装gevent时报错 C:\leakScan-master\scanner>easy_install gevent Searching for gevent Reading http://pypi.python.org/simple/gevent/ Best match: gevent 1.0.1 Downloading https://pypi.python.org/packages/source/g/gevent/gevent-1.0.1.tar.gz #md5=7b952591d1a0

解决 Windows 编译 Fast R-CNN 的 bbox 和 nms 出现的错误 error: Unable to find vcvarsall.bat

在 Windows 下安装一个底层的 Python 包时(Fast R-CNN 的 bbox 和 nms),遇到 error: Unable to find vcvarsall.bat 错误,看到这个错误信息的第一感觉就是跟编译器相关的.网上说安装一个 Python Tools for Visual Studio 就可以了. 打开 VS 2017 的安装程序,选择修改,把 Python 支持勾选上,进行安装. 再进行安装,以为可以了,新的问题又出现了:error: command 'C:\Pro

error: Unable to find vcvarsall.bat

http://www.crifan.com/python_mmseg_error_unable_to_find_vcvarsall_bat/ [已解决]安装Python模块mmseg出错:error: Unable to find vcvarsall.bat http://my.oschina.net/zhangdapeng89/blog/54407 python---解决“Unable to find vcvarsall.bat”错误 http://stackoverflow.com/ques

关于Unable to find vcvarsall.bat

关于Unable to find vcvarsall.bat问题解决方案: 系统:win10(64位): python版本:3.5.2(32位) vs版本:visual studio 2013 背景:学了python一周,做机器学习,因为要用python调用java包(HanLP),所以需要安装JPype,官网没找到32位的已编译好的包,就下了源码来编译,结果冒出Unable to find vcvarsall.bat错误,费了好大一会功夫,终于解决. 解决办法: 1.网上找了不少,有让装vs2

Unable to find vcvarsall.bat解决方法

今天在安装scikit-learn时出现了 error: Unable to find vcvarsall.bat 在安装一些Python模块时,大部分是cpython写的模块时会发生如下错误 error: Unable to find vcvarsall.bat. 应对这个问题可以有两个解决方法: (1)安装visual c++ 2008 express edition (2)如果嫌太大的话,可以按以下方法去做: 首先安装MinGW,在MinGW的安装目录下找到bin的文件夹,找到mingw3

Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat 解决办法

问题描述 安装 Python的MySQL驱动时时出现这个错误: Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat 环境 python 2.7.10 mysql 5.6 django 1.8.3 解决办法 下载  Microsoft Visual C++ Compiler for Python 2.7, 安装一下问题解决 下载链接: http://www.microsoft.com/en-us/download/co

error: Setup script exited with error: Unable to find vcvarsall.bat

安装mxnet python版本时遇到“Unable to find vcvarsall.bat”错误搜索一下后查到如下方法: python 3.5.2版本依赖高版本的vs解决办法是安装vs2015的安装包,安装包下载路径 或者安装其他版本的VS执行如下命令:    如果你安装的是 2010 版 :SET VS90COMNTOOLS=%VS100COMNTOOLS% 如果你安装的是 2012 版:SET VS90COMNTOOLS=%VS110COMNTOOLS% 如果你安装的是 2013版:S