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

Posted

技术标签:

【中文标题】需要 Microsoft Visual C++ 14.0(无法找到 vcvarsall.bat)【英文标题】:Error "Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat)" 【发布时间】:2015-07-02 23:24:12 【问题描述】:

我已经安装了 Python 3.5 并且在运行时

pip install mysql-python

它给了我以下错误

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

我在我的路径中添加了以下几行

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

我的 PC 中有 64 位 win 7 设置。

缓解此错误并通过pip 正确安装模块的解决方案是什么。

【问题讨论】:

确保升级 setuptools:pip install --upgrade setuptools 见 wiki.python.org/moin/WindowsCompilers 使用此链接下载Visual C++ 2015 Build Tools。它将在不安装 Visual Studio 的情况下安装 Visual C++ 14.0。安装完成后重试 pip install 就不会再报错了。 sigh 并没有到此结束。频道也不起作用。我对 python 的尊重正在迅速消亡! 为自己节省大量时间和硬盘空间,先去这个答案:***.com/a/51087608/84162 不适合我,我尝试了所有答案。我正在尝试安装scrapy,或者我应该称它为蹩脚的。第一次尝试没有任何效果,是吗... 【参考方案1】:

我遇到了同样的问题。更新 setuptools 的解决方案

pip install -U setuptools

pip install setuptools --upgrade

【讨论】:

【参考方案2】:

简单的二进制安装!

我不敢相信已经没有人提出这个建议 - 使用 pip 的仅二进制选项。例如,对于 mysqlclient:

pip install --only-binary :all: mysqlclient

许多软件包不会为每个版本都创建一个版本,这会迫使您的 pip 从源代码构建。如果您乐于使用最新的预编译二进制版本,请使用 --only-binary :all: 以允许 pip 使用较旧的二进制版本。

【讨论】:

它给了我同样的错误。在写上述命令之前,我们还需要安装 VS 2015 或更高版本吗? @ZeeshanAhmadKhalil 您要安装什么软件包?我只能假设您的包 + Python 版本 + 计算机架构没有可用的二进制版本。 @AlastairMcCormack 是的,很遗憾,eth-tester 没有可用的二进制版本。 @MauricioMaroto 请提出一个新问题。随意链接到这里。 你好@MauricioMaroto,抱歉不能早点回复。- pip install --only-binary :all: pystan【参考方案3】:

您的路径仅列出 Visual Studio 11 和 12,它需要 14,即 Visual Studio 2015。如果您安装了它,并记得勾选Languages->C++ 框,那么它应该可以工作。

在我的 Python 3.5 安装中,错误消息更有用一些,并包含从中获取它的 URL

 error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

编辑:新工作link

编辑:根据 Lightfire228 的建议,您可能还需要升级 setuptools 软件包以使错误消失:

pip install --upgrade setuptools

【讨论】:

执行此操作后,我仍然有这个错误。将 setuptools28.8.0 升级到 36.2.7 成功了。 这篇文章还提供了有关所需可视 C++ 构建工具的更多信息:scivision.co/python-windows-visual-c++-14-required @davidsheldon,我应该在哪里勾选 Languages->C++ 的复选框? 对我来说升级工具没有帮助 ;( 我不明白。它只需要Visual C++ 14 那我们为什么要安装整个Visual Studio?【参考方案4】:

我尝试了以上所有方法,但都没有奏效。就在注册诱杀之前,我发现了另一个错误原因:在 Windows 上使用了错误的 shell。

conda init cmd.exe

为我做了诀窍。希望它也可以拯救其他人。

【讨论】:

【参考方案5】:

使用它并节省时间

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 和here 他们提到Microsoft Visual C++

【讨论】:

嗨,欢迎来到 Stack Overflow!你的回答似乎有点不完整——pipwin 做了什么,为什么它比pip 更好? 完美。非常感谢 TOZX! 节省了我的时间。谢谢。 这是最好的答案!! 这应该被接受的答案【参考方案6】:

遵循 Windows C++ 编译器的官方安装指南:

https://wiki.python.org/moin/WindowsCompilers

升级 setuptools 并安装特定的 Microsoft Visual C++ 编译器。

它已经包含了其他答案中提到的一些要点。

【讨论】:

【参考方案7】:

这对我有用:pip install --only-binary :all: mysqlclient

【讨论】:

【参考方案8】:

如果您已经安装了 Visual Studio 构建工具(如在其他 cmets 中),并升级了 setuptools 但它仍然无法工作:

确保在 x86 或 x64 原生工具命令提示符下运行 pip。

它可以在Windows开始菜单的VS文件夹下找到。默认的命令行提示可能不会像我的情况那样提供 Pip 到 VS 构建工具的路径。

【讨论】:

【参考方案9】:

TLDR 运行vcvars64.bat

在无休止地搜索类似问题后,没有一个解决方案有效。 - 将无尽的文件夹添加到我的路径并删除它们。卸载并重新安装 Visual Studio 社区和构建工具。 并一步步尝试调试,我终于找到了适合我的解决方案。

(背景说明,如果有人处于类似情况) 我最近重置了我的主计算机,并在重新安装了最新版本的 python (Python3.9) 库后,我安装时没有遇到任何麻烦(主要示例 pip install opencv-python)给了

cl
    is not a full path and was not found in the PATH.

在将 cl 添加到路径之后 C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64

和几个不同的 Windows 套件,一次获得以下。

The C compiler

"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.27.29110/bin/Hostx64/x64/cl.exe"

is not able to compile a simple test program.

出现各种链接错误或“运行构建命令:jom /nologo cmTC_7c75e\fast && 系统找不到指定的文件”

从常规命令行和管理员升级 setuptools 和 wheel 并没有尝试手动下载 wheel 或尝试使用 --only-binary :all: 安装

最后对我有用的最终结果是为我的 python 安装运行正确的 vcvars.bat,即运行 "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" 一次(不是 vcvarsall 或 vcvars32)(因为我安装的 python 是 64 位),然后运行常规命令 pip install opencv-python 有效。

【讨论】:

【参考方案10】:

如果 Visual Studio 不是 不是 你的东西,而是你使用 VS Code,那么这个链接将引导你通过安装程序让 C++ 在您的 Windows 上运行。

您只需要完成先决条件部分。 https://code.visualstudio.com/docs/cpp/config-msvc/#_prerequisites

这与其他答案类似,但此链接可能会比此处的某些回复更有效。

PS:别忘了运行pip install --upgrade setuptools

【讨论】:

我问了一个新问题,Visual C++ (4.5 GB) 是否可以被仅花费 450 MB 的 MinGW 模仿,请参阅 ***.com/questions/62149329/… 哇! 在安装过程中节省 4GB 将是一项了不起的成就。我希望你能把它整理好@Lorenz。我一定会留意你的问题。【参考方案11】:

在@Sushant Chaudhary 的回答之上添加

在我的情况下,我遇到了另一个关于 lxml 的错误,如下所示

copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win-amd64-3.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
running build_ext
building 'lxml.etree' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

我必须以与@Sushant Chaudhary 的回答相同的方式安装 lxml‑4.2.3‑cp37‑cp37m‑win_amd64.whl 才能成功完成 Scrapy 的安装.

    从https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml下载lxml‑4.2.3‑cp37‑cp37m‑win_amd64.whl 放到安装python的文件夹中 使用pip install <file-name>安装它

现在你可以运行pip install scrapy

【讨论】:

【参考方案12】:

只要去https://www.lfd.uci.edu/~gohlke/pythonlibs/找到你合适的包(whl文件)。下载它。转到 cmd 中的下载文件夹或在文件夹的地址栏上键入“cmd”。运行命令:

pip install mysqlclient-1.4.6-cp38-cp38-win32.whl

(正确输入文件名。我只是举了一个例子)。无需安装 6GB 大小的 build toll cpp 即可解决您的问题。

【讨论】:

我遇到了 setproctitle 包的问题,​​尝试了关联的 Wheel 文件。它说,“wheelname”不是这个平台支持的***。【参考方案13】:

使用Visual C++ 2015 Build Tools 的链接。这将在不安装 Visual Studio 的情况下安装 Visual C++ 14.0。

【讨论】:

这是为我解决的问题,因为 C++ 2015 构建的工具 = VC 14.0 (2017 = VC 14.1, 2019 = VC 14.2)【参考方案14】:

我在 Windows 10 python 3.8 版上遇到了同样的问题。 就我而言,如果发生错误Microsoft Visual C++ 14.0 is required,我需要安装mysqlclient。因为安装 Visual Studio 及其软件包可能是一个乏味的过程,这就是我所做的:

第 1 步 - 从任何浏览器转到非官方 python 二进制文件并打开其网站。

第 2 步 - 按 ctrl+F 并输入您想要的任何内容。就我而言,它是 mysqlclient。

第 3 步 - 进入并根据您的 python 版本和 Windows 系统进行选择。就我而言,它是 mysqlclient‑1.4.6‑cp38‑cp38‑win32.whl 并下载它。

第 4 步 - 打开命令提示符并指定您下载文件的路径。就我而言,它是 C:\Users\user\Downloads

第 5 步 - 输入 pip install .\mysqlclient‑1.4.6‑cp38‑cp38‑win32.whl 并按 Enter。

因此它安装成功,之后我去我的项目终端重新输入了所需的命令。这解决了我的问题

请注意,在 pycharm 中处理项目时,我还尝试从项目解释器中安装 mysql-client。但是 mysql-client 和 mysqlclient 是不同的东西。我不知道为什么,它没有工作。

【讨论】:

【参考方案15】:

使用此链接下载并安装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

我有相同的建议作为对该问题的评论,但是,我被要求将其发布为答案,因为它帮助了很多人。所以我将其发布为答案。

【讨论】:

感谢链接,无法访问微软网站。【参考方案16】:

我在为 Django 项目安装 mysqlclient 时遇到了同样的问题。

就我而言,是系统架构不匹配导致了问题。我的系统上有 Windows 7 64 位版本。但是,我错误地安装了 Python 3.7.2 32 位版本。

所以,我重新安装了 Python 解释器(64位)并运行了命令

pip install mysqlclient

我希望这也适用于其他 Python 包。

【讨论】:

【参考方案17】:

对于 Python 3.7.4,以下命令集有效: 在执行这些命令之前,您需要确认 Desktop with C++ 和 Python 已安装在 Visual Studio 中。

cd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build"
vcvarsall.bat x86_amd64
cd \
set CL=-FI"%VCINSTALLDIR%\tools\msvc\14.16.27023\include\stdint.h"


pip install pycrypto

【讨论】:

【参考方案18】:

查看包装是否有包含必要的二元轮的官方分叉

我需要 python-Levenshtein 包,但出现此错误,然后找到 python-Levenshtein-wheels 包。

【讨论】:

【参考方案19】:

在阅读了很多 SO 中的答案但没有一个有效之后,我终于设法按照this 线程中的步骤解决了它,我将把步骤留在这里以防页面消失:

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

希望它对我有所帮助。

【讨论】:

谢谢!我得到了 Visual Studio 2017 的构建工具 here【参考方案20】:

我在尝试安装 mayavi 时遇到了这个确切的问题。

所以我在 pip 安装库时也有共同的error: Microsoft Visual C++ 14.0 is required

查看了许多网页和该线程的解决方案后,没有一个有效。我认为这些步骤(大部分来自以前的解决方案)允许它工作。

    转到Build Tools for Visual Studio 2017 并安装Build Tools for Visual Studio 2017All downloads向下滚动)>> Tools for Visual Studio 2017 如果您已经安装了这个,请跳到2

    选择您需要的C++ Components我不知道我需要哪个,所以安装了很多)。 如果你已经安装了Build Tools for Visual Studio 2017然后打开应用Visual Studio Installer然后去Visual Studio Build Tools 2017 >> Modify >> Individual Components 并选择所需的组件。 从其他答案看来,重要组成部分是:C++/CLI supportVC++ 2017 version <...> latestVisual C++ 2017 Redistributable Update@987654352 @Windows 10 SDK <...> for Desktop C++Visual C++ Build Tools core featuresVisual Studio C++ core features

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

    这是重要的一步。打开应用程序 Visual Studio Installer 然后转到 Visual Studio Build Tools >> Launch。这将在 Microsoft Visual Studio\YYYY\BuildTools 的正确位置打开一个 CMD 窗口。

    现在在这个 CMD 窗口中输入 python -m pip install --upgrade setuptools

    最后,在这个 same CMD 窗口中 pip 安装您的 python 库:pip install -U <library>

【讨论】:

【参考方案21】:

确保您已经安装了这些必需的软件包。在我安装检查的软件包时完美运行

【讨论】:

非常感谢您的回答。缺少 C++/CLI 支持和 VC++ 2015.3...;添加这些解决了我所有的问题【参考方案22】:

这里和其他地方的解决方案都不适合我。结果发现我的 64 位 Windows 10 操作系统上安装了不兼容的 32 位版本的 mysqlclient,因为我使用的是 32 位版本的 Python

我必须卸载当前的 Python 3.7 32 位,然后重新安装 Python 3.7 64 位,现在一切正常

【讨论】:

这对我有用,可以帮助我避免喝廉价毒药:)【参考方案23】:

我遇到了完全相同的问题,并通过安装mysql-connector-python 解决了它:

pip install mysql-connector-python

我在 python3.7 和 windows 10 上安装 Microsoft Build Tools for Visual Studio 2017(如 here 所述)并没有解决我的问题,这与你的问题相同。

【讨论】:

【参考方案24】:

解决以下任一错误:

Failed building wheel for misaka Failed to build misaka Microsoft Visual C++ 14.0 is required Unable to find vcvarsall.bat

解决办法是:

    转到Build Tools for Visual Studio 2017

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

    在工作负载选项卡下选择您需要的内容:

    一个。在 Windows 下,有 3 种选择。仅检查使用 C++ 进行桌面开发

    b.在 Web & Cloud 下,有 7 个选项。只检查 Python 开发(我相信这是可选的但我已经做到了)。

    在 cmd 中,输入 pip3 install misaka

请注意,如果您已经安装了 Visual Studio,那么当您运行安装程序时,您可以修改您的(单击 Visual Studio Community 2017 下的修改按钮)并执行步骤 3 和 4

最后提示:如果您不想安装所有模块,那么拥有以下 3 个模块(或 VC++ 2017 的更新版本)就足够了。 (您也可以仅使用这些选项安装Visual Studio Build Tools,因此您不需要安装 Visual Studio 社区版本身)=> 这个最小安装已经是 4.5GB,所以节省任何东西都是有帮助的

【讨论】:

我没有在 Web & Cloud 下获得 Python 开发选项。如果我把它留空,它会起作用吗? 最重要的是检查使用 C++ 进行桌面开发......它会工作 这行得通,我也不需要 VS2015 的构建工具。 添加了一个编辑以显示大多数安装所需的最低软件包 这是唯一对我有用的东西!安装 Microsoft Visual C++ 14.0 没有帮助,安装工具是最新的,但在我安装 Visual Studio 之前,我仍然收到错误“需要 Microsoft Visual C++ 14.0”。【参考方案25】:

扩展ocean800、davidsheldon和user3661384的答案:

您现在不应再使用 Visual Studio Tools 2015,因为有更新的版本可用。如Python documentation 所示,您应该改用 Visual Studio Tools 2017。

Microsoft 将 Visual C++ Build Tools 2015 升级为 Build Tools for Visual Studio 2017。

从here下载

如果您没有运行安装工具,您还需要setuptools

pip install setuptools

或者如果您已经拥有它,请务必升级它。

pip install setuptools --upgrade

对于上面的 Python 文档链接,您将看到 setuptools 版本必须至少为 34.4.0。让 VS 工具工作

【讨论】:

Python 需要使用其他语言平台的编译器来完成其繁重的工作,这是相当可悲的。为什么 python 团队不只用最基本的需求构建自己的编译器。 @AndrewS 是的,这很可悲,但很重要。开发高效的 C 编译器并非易事(就像开发一门新语言一样)。尤其是跨平台(Windows 自带非标准系统),实在是不可预料。 C++ 更糟糕,因为它要复杂得多(即使在为 C++ 开发 MS 编译器的过程中,获得对所有语法的支持也存在大量问题;因此 stdafx.h 标头包含必要的功能)。这样做意味着要花费大量的开发时间来重新发明***。 @AndrewS 以及几乎一倍的开发时间,甚至维护这两个项目最终减慢了 Python 本身的每个版本。构建现有的 MS 编译器要容易得多(因为他们不需要开发它)。【参考方案26】:

我也遇到了同样的问题。以下对我有用: 根据系统上安装的 python 版本从Christoph Gohlke installers 站点下载非官方二进制文件。 导航到安装文件的文件夹并运行

pip install filename

对我来说python_ldap‑3.0.0‑cp35‑cp35m‑win_amd64.whl 我的机器是 64 位的,python 版本是 3.5。 这成功地在我的 Windows 机器上安装了 python-ldap。你可以对 mysql-python 试试同样的方法

【讨论】:

这个答案有什么用?【参考方案27】:

哎呀!看起来他们在PyPI 上没有 Windows ***。

与此同时,从源代码安装可能有效,或者尝试按照错误消息和此页面上其他人的建议下载 MSVC++ 14。

Christoph's site 也有用于 Python 扩展包的非官方 Windows 二进制文件(.whl 文件)。

按照以下链接中提到的步骤安装二进制文件:

    Directly in base python In virtual environments / Pycharm

还要检查:

Which binary to download??

【讨论】:

【参考方案28】:

我在我的 Windows 10 机器上尝试安装 Scrapy Web 抓取 Python 框架时遇到了确切的问题。我通过这种方式找到了解决方案:

    从此链接下载最新(最后一个)车轮文件?wheel file for twisted package

    我建议将该轮文件保存在您安装 Python 的目录中,即 本地磁盘 C 中的某个位置

    然后访问wheel文件所在的文件夹,运行pip install <*wheel file's name*>

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

免责声明:此解决方案在尝试安装 Scrapy 时对我有用,但我不能保证在安装其他软件/包/等时也会发生同样的情况。✌

【讨论】:

对我来说也很有魅力——只要你能找到正确编译的 whl,你的解决方案很有可能适用于任何“需要”Windows C++ 的包......如果有人发现这个假设不正确,请告诉我们。 不要使用最新的 twisted,使用与你的 python 版本匹配的那个,即对于 python3.6,使用 cp36 的 twisted 此外,如果您使用的是 virtualenv,请将上述文件下载到 Lib\site-packages 文件夹中,并在 virtualenv 处于活动状态时使用 pip 安装。 事情是这样的...我可以添加“cp...”表示您的 Python 版本和“win...”您的系统 32 位和 64 位。所以你可以在 cdm 窗口中检查你的 Python 版本是什么python --version 并画出正确的 whl 文件 ***.com/review/suggested-edits/21928251 windows 用户注意事项: 在第 3 步之后,关闭现有 CMD 或您正在使用的任何终端,然后再次打开/启动新的/新终端以执行命令pip install Scrapy 否则您可能会遇到与之前执行pip install Scrapy 时相同的错误。【参考方案29】:

正如其他回复所指出的,一种解决方案是安装 Visual Studio 2015。但是,它需要几 GB 的磁盘空间。一种解决方法是安装预编译的二进制文件。网页http://www.lfd.uci.edu/~gohlke/pythonlibs (mirror) 包含许多 Python 包的预编译二进制文件。下载您感兴趣的软件包后,您可以使用pip install 安装它,例如pip install mysqlclient‑1.3.10‑cp35‑cp35m‑win_amd64.whl.

【讨论】:

谢谢。我相信pip wheel 创建了一个***档案;并且,pip install 实际安装了指定的 Wheel 文件。见pip.pypa.io/en/stable/reference/pip_wheel。顺便说一句,这种方法对我通过hmmlearn-0.2.1-cp36-cp36m-win_amd64.whlwheel 安装hmmlearn 包有用。 在我的一台电脑上,下载了一个***,让我安装 MS Visual C++ 14。但就像 Oleg 所说,使用 pip install,而不是 pip wheel 谢谢你的这个顺便说一句。这解决了我对 Twisted 的问题。我真的不想为了使用一件事而下载 3 GB 的数据!啊哈。 这是最好的解决方案。我没有选择单一的视觉工作室,而是选择了这个。如果您需要任何包,您也可以在“pypi.org”上搜索。只记得在***上加上名字。例如'python-Levenshtein ***' 在我想安装需要 vc++ 14.0 的 python-geohash 时拯救我的生命【参考方案30】:

在安装 pymssql 时也遇到过类似情况

pip 正在尝试构建包,因为没有官方*** 适用于 python 3.6 和 windows。

从这里下载一个非官方的***解决了这个问题:http://www.lfd.uci.edu/~gohlke/pythonlibs/

专门针对您的情况-> http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

【讨论】:

以上是关于需要 Microsoft Visual C++ 14.0(无法找到 vcvarsall.bat)的主要内容,如果未能解决你的问题,请参考以下文章

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

如何在 Microsoft Visual C++ Express 中运行 C++ 简单代码 [关闭]

是否可以创建不需要 Microsoft Visual C++ 运行时库的 win64 MEX 文件

通过 pip 安装 lxml 时出错:需要 Microsoft Visual C++ 14.0

带有 Microsoft Visual C++ 2010 Express 的 FLTK-1.1.10

尝试安装用 c 编写的包时需要 Microsoft Visual C++ 14.0