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


240

我已经安装了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


5
确保升级setuptools:pip install --upgrade setuptools请参阅wiki.python.org/moin/WindowsCompilers
3pitt

92
使用此链接下载Visual C ++ 2015生成工具。它将安装Visual C ++ 14.0,而不安装Visual Studio。安装完成后,重试pip安装,您将不会再收到错误消息。
Lalit Kumar B

7
叹息不止于此。频道也不起作用。我对python的尊重快死了!
拉尔夫·里托奇

6
为自己节省大量时间和硬盘空间,请首先解决以下问题:stackoverflow.com/a/51087608/84162
MECU,

3
不为我工作,我尝试了所有答案。我正在尝试安装scrapy,或者应该将其称为crappy。第一次尝试实际上没有任何效果,对吗……
samayo

Answers:


137

您的路径仅列出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

编辑:新的工作链接

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

pip install --upgrade setuptools

39
完成此操作后,我仍然遇到此错误。setuptools从升级28.8.036.2.7成功。
NauticalMile

8
尝试安装pyephem时,升级setuptools为我修复了此错误。
Benny Jobigan

37
对于刚刚跳过@NauticalMile所说内容的任何人,请运行pip install --upgrade setuptools。否则,安装MS废话的数量将无法解决该错误
Lightfire228'3

6
链接断开。
约书亚·纳尔逊


109

二进制安装它的简单方法!

我不敢相信没有人建议过-对pip使用仅二进制选项。例如,对于mysqlclient:

pip install --only-binary :all: mysqlclient

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


我安装了以前无法安装的软件包(pystan)。但是,前一个程序包的另一个程序包fbprophet needed.dll文件也是如此。
里希·in那(Rishi Jain)

这给了我同样的错误。编写上述命令之前,我们仍然需要安装VS 2015或更高版本吗?
Zeeshan Ahmad Khalil,

1
@ZeeshanAhmadKhalil您要安装什么软件包?我只能假设您的软件包+ Python版本+计算机体系结构没有可用的二进制版本。
Alastair McCormack

@AlastairMcCormack是的,很遗憾,没有二进制版本可用于eth-tester
Zeeshan Ahmad Khalil,

92

解决以下任何错误:

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

解决方案是:

  1. 转到Visual Studio 2017的构建工具

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

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

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

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

  4. 在cmd中输入 pip3 install misaka 在此处输入图片说明

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

修改按钮的屏幕截图

最后的注意事项:如果您不想安装所有模块,那么拥有下面的3个模块(或VC ++ 2017的较新版本)就足够了。(您也可以仅使用这些选项来安装Visual Studio Build Tools,因此您不需要安装Visual Studio Community Edition本身)=>此最小安装已经是4.5GB,因此保存所有内容都会有所帮助 C ++编译器所需的模块


3
我没有在Web&Cloud下进行Python开发的选择。如果我将其保留为空白,它将起作用吗?
crucifix94 '18

2
最重要的是使用C ++检查桌面开发...它将起作用
WISAM,2018年

这行得通,我也不需要VS2015的构建工具。
xji

添加了编辑以显示大多数安装所需的最低软件包
studioj 18'Aug

1
这是唯一对我有用的东西!安装Microsoft Visual C ++ 14.0并没有帮助,安装工具是最新的,但是在安装Visual Studio之前,我仍然收到错误消息“需要Microsoft Visual C ++ 14.0”。
BluE

63

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


4
谢谢。我相信pip wheel会创建一个车轮档案;并pip install实际安装指定的wheel文件。参见pip.pypa.io/en/stable/reference/pip_wheel。顺便说一句,这种方法在安装工作对我来说hmmlearn通过包hmmlearn-0.2.1-cp36-cp36m-win_amd64.whl轮。
Oleg Melnikov

在我的一台计算机上,下载了一个滚轮,让我可以轻松安装MS Visual C ++14。但是正如Oleg所说,请使用pip install,而不是pip wheel
Benny Jobigan

@OlegMelnikov @ BennyJobigan感谢您的更正,我相应地修改了答案。
弗兰克·德农古尔

谢谢你的顺便说一句。这解决了我的Twisted问题。我真的不想下载3 GB的数据只是为了使用一件事!啊哈
Mangohero18年

有人可以解释为什么/如何运作吗?它对我
有用

51

尝试在Windows 10计算机上安装Scrapy Web抓取Python框架时遇到了确切的问题。我这样想出了解决方案:

  1. 从此链接下载最新的(最后一个)车轮文件👉 扭曲包装的车轮文件 在此处输入图片说明

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

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

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

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


对于我来说,它也像一个魅力一样工作-只要您能找到正确编译过的软件包,您的解决方案就很有可能适用于任何“需要” Windows C ++的程序包...如果有人发现此假设不正确-请告诉我们。
JxAxMxIxN

14
不要使用最新版本的twist,请使用与您的python版本相匹配的版本,例如,对于python3.6,请使用cp36的twisted
Sojtin

除此之外,如果您使用的是virtualenv,请将上述文件下载到Lib \ site-packages文件夹中,并在virtualenv处于活动状态时使用pip进行安装。
阿林丹·罗伊乔杜里

1
就是这样...我可以添加“ cp ...”表示您的Python版本,“ win ...”表示系统32位与64位。因此,您可以在cdm窗口中检查您的Python版本是什么,python --version并选择正确的whl文件-Peter
Peter,

对于Windows用户,请注意stackoverflow.com/review/suggested-edits/21928251 注意:在第3步之后,请关闭现有的CMD或您正在使用的任何终端,然后再次打开/启动一个新的/新的终端以执行命令,pip install Scrapy否则可能会得到相同的结果执行时先前得到的错误pip install Scrapy
用户

15

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

因此,error: Microsoft Visual C++ 14.0 is required在安装库时,我也有共同点。

错误示例

寻找在许多网页和解决方案,这个线程,与后没有他们的工作的。我认为这些步骤(大部分是从以前的解决方案中提取的)使它可以正常工作。

  1. 转到Visual Studio 2017的构建工具并安装Build Tools for Visual Studio 2017。下All downloads向下滚动)>>Tools for Visual Studio 2017
    • 如果已经安装,请跳至2

安装构建工具

  1. 选择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 UpdateVisual C++ tools for CMakeWindows 10 SDK <...> for Desktop C++Visual C++ Build Tools core featuresVisual Studio C++ core features

选择组件

  1. 为安装/修改这些组件Visual Studio Build Tools 2017

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

打开Visual Studio安装程序 启动Visual Studio生成工具 CMD构建工具窗口

  1. 现在,python -m pip install --upgrade setuptools在此CMD窗口中输入。

CMD更新设置工具

  1. 最后,在同一 CMD窗口pip中安装python库:pip install -U <library>

CMD安装Python库


11

安装spaCy模块时遇到相同的问题。我检查了控制面板,我已经安装了几个可视的C ++可再发行组件。

我所做的是选择已经安装在我的PC上的“ Microsoft Visual Studio Community 2015”->“修改”->选中“ Visual C ++ 2015通用工具”。然后,将花费一些时间并下载超过1 GB的空间进行安装。

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


11

我有同样的问题。更新设置工具的解决方案

pip install -U setuptools

要么

pip install setuptools --upgrade

11

在阅读了SO中的很多答案并且没有一个有效的方法之后,我终于设法按照线程中的步骤解决了这个问题,如果页面消失了,我将在这里保留这些步骤:

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

在此处输入图片说明

希望它对我有帮助。


9

确保您已经安装了这些必需的软件包。在我安装已检查的软件包的情况下,可以正常工作 在此处输入图片说明


4
非常感谢您的回答。缺少C ++ / CLI支持和VC ++ 2015.3 ...; 加上那些修复了我所有的问题
Spinodal

8

为了扩展ocean800davidsheldonuser3661384的答案:

现在,您应该不再使用Visual Studio Tools 2015,因为已有新版本可用。如Python文档所述,您应该改用Visual Studio Tools 2017。

Microsoft已将Visual C ++生成工具2015升级为Visual Studio 2017的生成工具。

这里下载

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

pip install setuptools

或者,如果您已经拥有它,请确保对其进行升级。

pip install setuptools --upgrade

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


令人遗憾的是,Python需要使用另一种语言平台的编译器来完成其艰苦的工作。为什么python团队为什么不仅仅用所需的内容来构建自己的编译器。
安德鲁·S

@AndrewS是的,这很可悲,但必须。开发高效的C编译器绝非易事(就像开发新语言一样)。尤其是跨平台(Windows安装在其自己的非标准系统上),因此真的不可能期望到这一点。C ++甚至更糟,因为它要复杂得多(即使在开发用于C ++的MS编译器的过程中,获得对所有语法的支持也存在很大的问题;因此stdafx.h标头包含必需的功能)。这样做意味着要花费大量的开发时间来重新发明轮子。
西蒙(Simon)

@AndrewS以及几乎两倍的开发时间来维护两个项目,最终使每个Python本身的版本变慢。建立现有的MS编译器要容易得多(因为他们不需要开发它)。
西蒙(Simon)

8

使用此链接下载和安装Visual C ++ 2015生成工具。它会自动下载visualcppbuildtools_full.exe并安装Visual C ++ 14.0,而无需实际安装Visual Studio。安装完成后,重试pip安装,您将不会再收到错误消息。

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

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

我对这个问题的评论与我有相同的建议,但是,我被要求将其发布为答案,因为它对很多人都有帮助。因此,我将其发布为答案。


2
感谢您的链接,无法访问Microsoft网站。
阿舒托什·阿格哈拉里

6

我有完全相同的问题,并通过安装mysql-connector-python来解决:

pip install mysql-connector-python

我是在python3.7和Windows 10安装Microsoft构建工具为Visual Studio 2017年(描述这里)没有解决我的问题,这是等同于你的。


5

我遇到过同样的问题。下载适用于Visual Studio 2017的构建工具对我有用。在这里找到



3

在使用最新的Python 3.6时遇到了同样的问题。使用Windows OS 10家庭版和64位操作系统

解决此问题的步骤:

  1. 通过控制面板卸载您拥有的任何版本的Visual Studio
  2. 安装Visual Studio 2015并选择默认选项,该选项将自行安装Visual C ++ 14.0
  3. 您可以使用Pycharm安装scrapy-> Project-> Project Interpreter-> +(安装scrapy)
  4. 通过导入检查REPL和pycharm中的scrapy,您应该不会看到任何错误

也不需要为此使用Conda / pip,仅上述解决了我的问题。
Sandeep Anand'5

如果您已经安装了Visual Studio 2015(包括社区在内的任何版本),则无需将其卸载,只需转到程序和功能并修改安装,然后按此stackoverflow.com/a
达沃斯


2

我有同样的问题。我需要一个64位版本的Python,所以我安装了3.5.0(是撰写本文时的最新版本)。切换到3.4.3后,我所有的模块安装均正常。

适用于Windows的Python版本


4
还有其他解决方案吗?除了回滚至3.4.3
wadhwa94 '16

您是否尝试了我在上面的解决方案中描述的过程?这应该对您有用,因为我认为您的问题与我的非常相似。试试看。
Sushant Chaudhary

2

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

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


2

查看包装是否有包含必要双轮的正式前叉

我需要该软件包python-Levenshtein,发生此错误,然后找到该软件包python-Levenshtein-wheels


2

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

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

(正确输入文件名。我仅给出一个示例)。您的问题将得到解决,而无需安装6GB大小的构建收费cpp。


2

在@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的安装。

  1. https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml下载lxml‑4.2.3‑cp37‑cp37m‑win_amd64.whl
  2. 将其放在安装了python的文件夹中
  3. 使用安装 pip install <file-name>

现在您可以运行 pip install scrapy


1

糟糕!看起来他们在PyPI上没有Windows轮子。

同时,从源代码进行安装可能会起作用,或者尝试按照错误消息中的建议以及此页面上的其他人下载MSVC ++ 14。

Christoph的站点还具有用于Python扩展包(.whl文件)的非官方Windows二进制文件。

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

  1. 直接在基本python中
  2. 在虚拟环境/ Pycharm中

还要检查:

要下载哪个二进制文件?


1

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

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

1

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

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

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

pip install mysqlclient

我希望这也可以与其他Python包一起使用。


1

我在Windows 10 python版本3.8上遇到了完全相同的问题。就我而言,我需要在发生错误时安装mysqlclientMicrosoft Visual C++ 14.0 is required。因为安装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是不同的东西。我不知道为什么,它不起作用。


0

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

pip install filename

对我来说python_ldap‑3.0.0‑cp35‑cp35m‑win_amd64.whl,我的机器是64位,而python版本是3.5。这成功在我的Windows机器上安装了python-ldap。您可以为mysql-python尝试相同的操作


4
这个答案有什么用?
萨希尔·纳格帕


0

如果Visual Studio的不是你的东西,而是你正在使用VS代码,那么这个链接会引导你通安装程序来获得C ++在你的Windows上运行。

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

这与其他答案类似,但是此链接的年龄可能会比此处的某些答案更好。

PS:别忘了跑步 pip install --upgrade setuptools


我问了一个新问题是否VISUAL C ++(4.5 GB)可以通过MinGW的模仿它的价格只有450 MB,请参阅stackoverflow.com/questions/62149329/...
洛伦茨

哇!在安装过程中节省4GB是一个了不起的成就。希望您可以将它排序为@Lorenz。我一定会留意您的问题。
Paulo Silva
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.