我已经安装了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正确安装模块。


当前回答

在Stack Overflow上阅读了很多答案后,没有一个可以工作,我最终设法按照这个问题中的步骤解决它。我将把步骤留在这里,以防页面消失:

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

其他回答

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

pip install mysql-connector-python

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

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

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

pip install --only-binary :all: mysqlclient

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

如果你已经安装了Visual Studio Build Tools(如其他评论中所述),并升级了setuptools,但仍然无法工作:

确保在x86或x64本机工具命令提示符下运行pip。

它可以在Windows开始菜单的VS文件夹下找到。默认的命令行提示符可能不会为Pip提供VS构建工具的路径,就像在我的情况下一样。

我尝试了以上所有的方法,没有一个奏效。就在注册这个漏洞之前,我发现了另一个错误的原因:在Windows上使用了错误的shell。

Conda init cmd.exe

帮我搞定了。希望它也能拯救其他人。

首先,你需要从https://visualstudio.microsoft.com/downloads#other下载visualstudio构建工具 重命名文件vs_buildtools.exe(不是必需的,但您必须修改下面的脚本)

start-process -wait -filepath vs_buildtools.exe -ArgumentList '--quiet --wait --norestart --nocache --installPath C:\BuildTools `
  --add Microsoft.VisualStudio.ComponentGroup.VC.Tools.142.x86.x64 `
  --add Microsoft.VisualStudio.Component.Windows10SDK.19041 `
  --add Microsoft.VisualStudio.Component.Windows10SDK `
  --add Microsoft.VisualStudio.Component.VC.CoreIde `
  --add Microsoft.VisualStudio.Component.VC.CMake.Project `
  --add Microsoft.VisualStudio.Component.VC.14.29.16.11.CLI.Support `
  --add Microsoft.VisualStudio.ComponentGroup.UWP.VC.v142'

我在这里为windows docker用户创建了一个单独的问题和答案,Microsoft Visual c++ 14.0是必需的,在windows docker上安装pip包