错误提示:"需要安装Microsoft Visual C++ 14.0 (无法找到vcvarsall.bat文件)"

344

我安装了Python 3.5,但在运行时

pip install mysql-python

我遇到了以下错误:

错误:需要 Microsoft Visual C++ 14.0(无法找到 vcvarsall.bat)

我已将以下行添加到我的 Path。

C:\Program Files\Python 3.5\Scripts\;
C:\Program Files\Python 3.5\;

C:\Windows\System32;
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC;
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC

我在我的电脑上安装了64位的Windows 7。

有什么解决方案可以缓解这个错误,并通过pip正确安装模块。


9
请确保升级setuptools:pip install --upgrade setuptools,详见https://wiki.python.org/moin/WindowsCompilers。 - 3pitt
142
使用此链接下载Visual C++ 2015 Build Tools。它将安装Visual C++ 14.0,而不需要安装Visual Studio。安装完成后,重试pip安装,您将不会再次出现错误。 - Lalit Kumar B
16
sigh这还没结束。频道也不起作用。我对Python的尊重正在迅速减少! - Ralph Ritoch
14
节省大量时间和硬盘空间,首先请访问此答案:https://dev59.com/uF0a5IYBdhLWcg3w48BP#51087608 - MECU
6
对我来说不起作用,我尝试了所有答案。我正在尝试安装scrapy,或者应该称其为crappy。似乎没有什么东西能一次成功,是吧... - samayo
显示剩余12条评论
36个回答

193

你的路径只列出了Visual Studio 11和12,但需要14,即Visual Studio 2015。如果你安装了它,并记得勾选 LanguagesC++ 的框,则应该可以正常工作。

在我的Python 3.5安装中,错误消息更有用一些,并包含从以下URL获取所需文件:

error: 需要 Microsoft Visual C++ 14.0。使用“Microsoft Visual C++ Build Tools”获取:http://landinghub.visualstudio.com/visual-cpp-build-tools

新的工作链接

正如Fire所建议的,您可能还需要升级setuptools软件包才能消除该错误:

pip install --upgrade setuptools

55
完成这个操作后,我仍然遇到了这个错误。将setuptools28.8.0升级到36.2.7就解决了问题。 - NauticalMile
1
本篇文章还提供了有关所需的 Visual C++ 构建工具的额外信息:https://www.scivision.co/python-windows-visual-c++-14-required/ - Kobby Kan
1
最重要的事情是升级SETUPTOOLS位。 - nesdis
5
对我来说,升级工具没有帮助到我 ;( - rishi jain
11
我不明白。它只需要“Visual C++ 14”,那为什么我们要安装整个Visual Studio? - Zeeshan Ahmad Khalil
显示剩余5条评论

168

二进制安装是最简单的方式!

使用pip的仅限二进制选项,例如对于mysqlclient:

pip install --only-binary :all: mysqlclient

许多软件包并不会为每个发布版本创建一个构建,这就迫使你的pip从源代码进行构建。如果你愿意使用最新的预编译二进制版本,请使用--only-binary :all:命令,允许pip使用旧的二进制版本。


1
它仍然给我相同的错误。在编写上述命令之前,我们是否仍需要安装VS 2015或更高版本? - Zeeshan Ahmad Khalil
2
@ZeeshanAhmadKhalil 你尝试安装的是哪个软件包?我只能推测可能没有适用于你的软件包+Python版本+计算机架构的二进制版本可用。 - Alastair McCormack
1
@AlastairMcCormack 是的,不幸的是,eth-tester 没有可用的二进制版本。 - Zeeshan Ahmad Khalil
1
@MauricioMaroto 请提出一个新问题。随意在此处链接。 - Alastair McCormack
1
你好 @MauricioMaroto,抱歉之前没能及时回复。- pip install --only-binary :all: pystan - rishi jain
显示剩余5条评论

119

解决以下错误:

  • 为misaka构建轮失败
  • 构建misaka失败
  • 需要安装Microsoft Visual C++ 14.0
  • 找不到vcvarsall.bat文件

解决方法如下:

  1. 打开Visual Studio 2017构建工具

  2. 在Visual Studio Community 2017下选择免费下载,这将下载安装程序。运行安装程序。

  3. 在工作负载选项卡下选择所需内容:

    a. 在Windows下,有三个选项。只勾选使用C++进行桌面开发。

    b. 在Web & Cloud下,有七个选项。只勾选Python开发(我认为这是可选的,但我已经做过了)。

  4. 在cmd中输入pip3 install misaka

    Enter image description here

    请注意,如果您已经安装了Visual Studio,则在运行安装程序时,可以修改自己的设置(在Visual Studio Community 2017下单击修改按钮),然后执行第3步和第4步。

    Screenshot of Modify button

    最后注意:如果您不想安装所有模块,则仅需要以下三个模块(或更新版本的VC++ 2017)。(您也可以仅使用这些选项安装Visual Studio Build Tools,因此无需安装Visual Studio Community Edition本身)=> 这种最小安装已经达到了4.5 GB,因此保存任何内容都是有帮助的。

    The modules you need for c++ compiler


4
在“Web & Cloud”下我没有看到Python开发选项,如果不填会有影响吗?请注意,翻译时不要改变原意。 - crucifix94
2
最重要的是检查使用C++进行桌面开发...它会工作的。 - WISAM
@Bram Vanroy 您好,谢谢您的提问。这是关于所谓的链接嵌入的内容...与在此处标记文本为代码、链接或粗体相同的技术...例如,假设我有一个帖子模型,在其中我有一个名为评论的记录,当我使用misaka时,如果我在该字段中输入 _斜体单词_,那么将显示 _斜体单词_(不带下划线)。如果我使用 ** 粗体 **,那么将显示 ** 粗体 **。如果使用 任何代码,则将显示 任何代码。希望这可以帮助到您。 - WISAM
我们能否在不下载整个Visual Studio的情况下进行安装? - Prathamesh More
1
这是唯一对我起作用的方法!安装Microsoft Visual C++ 14.0没有帮助,设置工具也是最新的,但我仍然收到错误提示“需要Microsoft Visual C++ 14.0”,直到我安装了Visual Studio。 - Tigerware
显示剩余9条评论

81

正如其他回答所指出的那样,解决方法之一是安装Visual Studio 2015。但是,这需要几GB的磁盘空间。

另外一种方法是安装预编译二进制文件。网页Python扩展包非官方Windows二进制文件 (镜像)中包含许多Python软件包的预编译二进制文件。在下载您感兴趣的软件包后,您可以使用pip install进行安装,例如:pip install mysqlclient‑1.3.10‑cp35‑cp35m‑win_amd64.whl


5
谢谢。我相信 pip wheel 创建了一个 wheel 存档文件;而 pip install 实际上是安装指定的 wheel 文件。参见 https://pip.pypa.io/en/stable/reference/pip_wheel。顺便说一下,这种方法在我通过 hmmlearn-0.2.1-cp36-cp36m-win_amd64.whl wheel 安装 hmmlearn 包时起作用了。 - Oleg Melnikov
1
谢谢你顺便提供这个。这解决了我在Twisted上的问题。我真的不想下载3GB的数据只为了使用一个东西!哈哈。 - Mangohero1
2
这是最好的解决方案。与单块的Visual Studio不同,我选择了这个。如果您需要任何软件包,您也可以在“https://pypi.org/”上搜索它。只需记住在名称后附加wheel。例如,“python-Levenshtein wheels”。 - Manjeet
1
@FranckDernoncourt 我想安装 eth-tester Python 包。但是我无法弄清楚应该下载哪个预编译二进制文件!我认为该软件包的预编译二进制文件不可用。 - Zeeshan Ahmad Khalil
1
在我想安装Python-geohash时,需要VC++ 14.0来拯救我的生命。 - carton.swing
显示剩余6条评论

62
我在尝试在我的Windows 10机器上安装Scrapy网络爬虫Python框架时遇到了完全相同的问题。 我通过以下方式找到了解决方案:
  1. 从此链接下载最新(最后一个)wheel文件:wheel file for twisted package

    Enter image description here

  2. 我建议将该wheel文件保存在已安装Python的目录中,即C盘的某个位置。

  3. 然后访问包含wheel文件的文件夹并运行pip install <*wheel file's name*>

  4. 最后,再次运行命令pip install Scrapy,您就可以使用Scrapy或任何其他需要您下载大量Windows C++ Package/SDK的工具。

免责声明:这个解决方案对于我安装Scrapy有效,但我不能保证在安装其他软件、包等时也能有效。


20
请使用符合您的Python版本的Twisted,而不是最新版本。例如,对于Python3.6,请使用带有cp36的Twisted。 - Sojtin
此外,如果您正在使用virtualenv,请将上述文件下载到Lib\site-packages文件夹中,并在virtualenv处于活动状态时使用pip进行安装。 - Arindam Roychowdhury
2
这就是它的运行方式...我可以补充一下,“cp…”表示您的Python版本,“win…”表示您的系统是32位还是64位。因此,您可以在命令提示符窗口中检查您的Python版本 python --version 并选择正确的whl文件。 - Peter
注意 Windows 用户: 在第三步之后,关闭现有的 CMD 或任何终端,并再次打开/启动一个新的/清新的终端来执行命令 pip install Scrapy,否则您可能会在执行 pip install Scrapy 时再次遇到相同的错误。 - user
这对我来说是答案。我尝试了所有其他的修复方法,但这就是问题所在。谢谢! - ProfessorFluffy
显示剩余3条评论

31

在 Stack Overflow 上阅读了很多答案都不起作用后,我最终通过遵循这个问题中的步骤来解决它。为了防止网页消失,我将在此处留下步骤:

请尝试安装 Visual Studio 2017 的构建工具,选择工作负载“Visual C++ Build Tools”,并勾选以下选项:“C++/CLI 支持”和“桌面 VC++ 2015.3 v14.00(v140)工具集”。

输入图像描述


2
谢谢!我在这里下载了Visual Studio 2017的构建工具链接 - Guillaume F.
1
感谢提供2017版本的构建工具链接!在安装了该版本并卸载了之前的版本后,终于成功了。 - Barnacle Own

22

我在安装mayavi时遇到了与这个问题完全相同的问题。

我也在使用pip安装库时遇到了常见的错误:需要Microsoft Visual C++ 14.0

错误示例

在查看了许多网页和解决方案后,发现没有一个解决方案可行,我总结出以下步骤(大多数取自以前的解决方案)使这个过程成功。

  1. 前往构建 Visual Studio 2017的工具并安装Visual Studio 2017的构建工具,位于所有下载 (向下滚动) → Visual Studio 2017的工具

    • 如果您已经安装了此软件,请跳过到2

      安装构建工具

  2. 选择所需的C ++组件(我不知道我需要哪些,因此我安装了许多组件)。

    • 如果您已经安装了Visual Studio 2017 Build Tools,请打开应用程序Visual Studio Installer,然后进入Visual Studio Build Tools 2017修改单个组件并选择所需的组件。
    • 从其他答案中可以看出,重要的组件包括:C++/CLI支持VC++ 2017 版本<...> 最新版Visual C++ 2017 可再发行程序更新CMake 的 Visual C++ 工具Windows 10 SDK <...> 适用于桌面 C++Visual C++ Build Tools 核心要素Visual Studio C++ 核心要素

    选择组件

  3. Visual Studio Build Tools 2017安装/修改这些组件。

  4. 这是一个重要的步骤。 打开应用程序Visual Studio Installer,然后进入Visual Studio Build Tools启动。 这将在正确的位置打开一个CMD窗口,即Microsoft Visual Studio\YYYY\BuildTools

    打开 Visual Studio Installer

    启动 Visual Studio Build 工具

    CMD Build 工具窗口

  5. 现在在该 CMD 窗口中输入命令python -m pip install --upgrade setuptools

    CMD 更新 Setuptools

  6. 最后,在相同的 CMD 窗口中,安装 Python 库:pip install -U <library>

    CMD 安装 Python 库


如果您遇到有关未解决符号的错误,请确保您打开了适合您环境的正确命令提示符。如果您需要64位开发工具,可能需要从Windows开始菜单中打开命令提示符。 - Dawied

17

请使用该链接下载并安装Visual C++ 2015 Build Tools。它将自动下载 visualcppbuildtools_full.exe 并安装 Visual C++ 14.0,而不实际安装 Visual Studio。

安装完成后,重新运行 pip install,您将不会再收到错误信息。

我已经在以下平台和版本上进行了测试:

Python 3.6 on Windows 7 64-bit
Python 3.8 on Windows 10 64-bit

2
谢谢提供链接,我无法进入微软网站。 - Ashutosh Agrahari

15

使用这个,节省时间

pip install pipwin 
pipwin install yourLibrary

pipwin类似于pip,但它安装由Christoph Gohlke提供的预编译Windows二进制文件。它能省去大量搜索和下载的时间。

在这种情况下,pipwin可以解决问题。

Error: Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat)

阅读关于pipwin的更多信息以及这里提到的Microsoft Visual C++


1
你好,欢迎来到Stack Overflow!你的回答看起来有些不完整,pipwin是做什么的?为什么它比pip更好呢? - Chris Warrick

13

在安装spaCy模块时我也遇到了同样的问题。然后我检查了控制面板,发现我已经安装了几个Microsoft Visual C++ Redistributable。

我选择了已经安装在我的电脑上的“Microsoft Visual Studio Community 2015” → “修改” → 选中 “Visual C++ 2015通用工具”。然后需要等待一段时间下载超过1GB的文件进行安装。

这个解决了我的问题,现在我已经成功安装了spaCy。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接