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

pip install mysql-python

它给出了如下错误

错误:Microsoft Visual c++ 14.0是必需的(无法找到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

我的电脑上安装了64位的Windows 7。

什么解决方案可以减少这个错误,并通过pip正确安装模块。


当前回答

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

使用pip的二进制选项。例如,对于mysqlclient:

pip install --only-binary :all: mysqlclient

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

其他回答

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

pip install mysql-connector-python

我使用的是Python 3.7和Windows 10,安装Microsoft Build Tools for Visual Studio 2017(如这里所述)并没有解决我的问题,这与您的问题相同。

安装spaCy模块时也遇到同样的问题。我检查了控制面板,我已经安装了几个Microsoft Visual c++的可重分发版本。

我选择了“Microsoft Visual Studio Community 2015”,它已经安装在我的电脑上→“修改”→勾选“Visual c++ 2015常用工具”。然后需要一些时间和下载超过1gb来安装它。

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

对于Python 3.7.4,以下一组命令可以工作: 在执行这些命令之前,您需要确认Visual Studio中已经安装了Desktop with c++ and 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

要扩展ocean800、davidsheldon和user3661384的答案:

你现在应该不再使用Visual Studio Tools 2015,因为有一个更新的版本可用。正如Python文档所指出的,您应该使用Visual Studio Tools 2017。

Visual c++ Build Tools 2015由微软升级为Visual Studio Build Tools 2017。

从这里下载。

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

pip install setuptools

或者如果你已经有了,一定要升级它。

pip install setuptools --upgrade

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

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

我不得不卸载我目前的Python 3.7 32位,并重新安装Python 3.7 64位,现在一切都很好。