需要 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
【讨论】:
执行此操作后,我仍然有这个错误。将setuptools
从 28.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 2017
。 All 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 support
、VC++ 2017 version <...> latest
、Visual C++ 2017 Redistributable Update
、@987654352 @、Windows 10 SDK <...> for Desktop C++
、Visual C++ Build Tools core features
、Visual 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.whl
wheel 安装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