错误提示:"需要安装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个回答

13

请确保您已安装这些必需的软件包。在我的案例中,我安装了选中的软件包,这使得它完美地运行:

这里输入图像描述


4
非常感谢您的回答。我需要C++/CLI支持和VC++ 2015.3版本,添加它们解决了我所有的问题。 - spinodal

13

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

pip install -U setuptools
或者
pip install setuptools --upgrade

11

ocean800davidsheldonuser3661384 的答案基础上,进一步解释:

由于有新版本可用,现在不应再使用 Visual Studio Tools 2015。根据 Python 文档,应改用 Visual Studio Tools 2017。

Visual C++ Build Tools 2015 已被微软升级为 Build Tools for Visual Studio 2017。

可以从此处下载。

你还需要安装setuptools。如果没有安装,运行以下命令:

pip install setuptools

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

pip install setuptools --upgrade

在上面的Python文档链接中,您将看到Visual Studio工具需要setuptools版本至少为34.4.0才能正常工作。


很遗憾,Python需要使用另一种语言平台的编译器来完成其繁重的工作。为什么Python团队不构建自己的编译器,只使用所需的基本功能呢? - Andrew S
@AndrewS 是的,这很令人难过但也是必要的。开发一个高效的C编译器并不容易(就像开发一种新语言一样)。特别是跨平台(Windows坚持使用自己的非标准系统),所以这真的是不可能的。C++更糟糕,因为它更加复杂(即使在MS C++编译器的开发过程中,获取所有语法支持也存在巨大问题;因此需要包含stdafx.h头文件来包含必要的功能)。这样做意味着使用大量的开发时间来重新发明轮子。 - Xantium
@AndrewS 以及几乎翻倍的开发时间来维护两个项目,最终减缓了 Python 发布的速度。利用已经存在的 MS 编译器进行构建要容易得多(因为他们不需要开发它)。 - Xantium

9

1
这是解决我的方法,因为C++ 2015构建工具= VC 14.0(2017 = VC 14.1,2019 = VC 14.2) - Reinier Koops

6

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

pip install mysql-connector-python

我正在使用Python 3.7和Windows 10,安装Visual Studio 2017的Microsoft Build Tools(如这里所述)未能解决与您相同的问题。


6

那个下载链接好像(有效地)失效了?它还能用吗? - Peter Mortensen

5

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

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

(正确输入文件名。我只是给出了一个例子)。您可以在不安装6GB大小的构建工具cpp的情况下解决问题。


我在使用setproctitle包时遇到了问题,尝试使用相关的wheel文件。但是它显示:“wheelname”不是此平台上支持的wheel文件。 - Shamsul Arefin

4

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的回答中的方式安装,才能成功安装Scrapy。

  1. Lxml下载
  2. 将其放在安装Python的文件夹中
  3. 使用pip install <file-name>进行安装

现在你可以运行pip install scrapy了。


3
我刚使用最新的Python 3.6时遇到了同样的问题。我的操作系统是64位的Windows 10 Home Edition

解决此问题的步骤:

  1. 通过控制面板卸载您拥有的任何版本Visual Studio
  2. 安装Visual Studio 2015并选择默认选项,它将单独安装Visual C++ 14.0
  3. 您可以使用PyCharm来安装Scrapy:菜单项目项目解释器+(安装Scrapy)
  4. 通过导入在REPL和PyCharm中检查Scrapy。 您不应该看到任何错误。

同时,这也不需要使用Conda/pip,只需上述操作即可解决我的问题。 - Sandeep Anand
如果您已经安装了Visual Studio 2015(包括社区版),则无需卸载它,只需进入“程序和功能”并修改安装,勾选编程语言 - Visual C++,参考链接https://dev59.com/i1kT5IYBdhLWcg3wL8r3#40886619 - Davos

3

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