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

3

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

我必须卸载当前的Python 3.7 32位,并重新安装Python 3.7 64位,现在一切都正常工作了。


这对我有效,并且帮助我避免饮用廉价的毒酒 :) - yuv

3

我在使用Windows 10的Python 3.8版本时遇到了完全相同的问题。在我的情况下,出现了错误“需要Microsoft Visual C++ 14.0”,我需要安装mysqlclient。由于安装Visual Studio及其包可能是一个繁琐的过程,以下是我所做的:

步骤1 - 在任何浏览器中前往非官方Python二进制文件网站并打开它的网站。

步骤2 - 按下ctrl +F并输入您想要的内容。在我的情况下,这是mysqlclient。

步骤3 - 进入其中,并根据您的Python版本和Windows系统进行选择。在我的情况下,它是mysqlclient-1.4.6-cp38-cp38-win32.whl,然后下载它。

here

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

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

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

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


2

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


2

查看软件包是否有一个官方的分支,其中包括必要的二进制wheels

我需要安装python-Levenshtein软件包,但出现了错误,后来发现可以使用python-Levenshtein-wheels软件包。

注:Original Answer翻译成“最初的回答”。


2
我遇到了同样的问题。以下方法对我有效:
从Christoph Gohlke安装程序的非官方二进制文件网站下载与您系统上安装的Python版本相对应的文件。
导航至您已安装该文件的文件夹并运行。
pip install filename

对于我来说,python_ldap‑3.0.0‑cp35‑cp35m‑win_amd64.whl 可以在我的64位机器上运行,并且Python版本为3.5。

这成功地在我的Windows机器上安装了python-ldap。您可以尝试相同的方法安装mysql-python。


5
这个答案有什么用处? - vegetarianCoder

2

我尝试了以上所有方法,但都没有成功。就在我准备放弃之前,我发现了另一个错误的原因:在Windows上使用了错误的shell。

对我来说,以下命令解决了问题:

conda init cmd.exe

希望这能帮助其他人解决问题。


2
如果Visual Studio不是你的选择,而是使用VS Code,那么这个链接将指导你完成安装程序,使C++在Windows上运行。

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

这与其他答案类似,但这个链接可能比这里的某些回答更为实用。

PS:不要忘记运行pip install --upgrade setuptools


我提出了一个新问题,即是否可以用只有450 MB的MinGW来模拟Visual C++(4.5 GB),请参见https://dev59.com/IU0GtIcB2Jgan1znrgIs。 - questionto42
哇! 在安装过程中节省4GB将是一个惊人的成就。 我希望你能解决它,@Lorenz。 我一定会关注你的问题。 - Paulo Silva

1
我在安装Django项目的mysqlclient时遇到了同样的问题。
在我的情况下,系统架构不匹配导致了这个问题。我的系统是Windows 7 64位版本,但我错误地安装了Python 3.7.2的32位版本。
因此,我重新安装了Python解释器(64位),并运行了命令。
pip install mysqlclient

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


1
我曾经遇到过同样的问题。我需要64位版本的Python,所以我安装了3.5.0(写这篇文章时最新的版本)。在切换到3.4.3之后,我的所有模块安装都正常了。

Windows平台Python发布版本


4
还有其他的解决方案吗?除了回滚到3.4.3版本以外。 - wadhwa94
你试过我在上面解决方案中描述的过程了吗?由于我认为你的问题与我的相似,所以它应该适用于你。试一试吧。 - Sushant Rajbanshi

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

什么是“使用C++和Python的桌面应用程序”?您能提供一些上下文的链接和/或截图吗?或者类似的东西?请通过编辑(更改)您的答案来回复,而不是在评论中回复(不要包含“编辑:”,“更新:”或类似的内容 - 答案应该看起来像今天写的)。 - Peter Mortensen

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