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


当前回答

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

Python Windows版本

其他回答

使用此链接下载并安装Visual c++ 2015 Build Tools。它将自动下载visualcppbuildtools_full.exe并安装Visual c++ 14.0,而无需实际安装Visual Studio。

安装完成后,重试pip install,您将不会再次得到错误。

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

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

正如其他回复所指出的,一个解决方案是安装Visual Studio 2015。但是,它会占用几gb的磁盘空间。

一种解决方法是安装预编译的二进制文件。Python扩展包的非官方Windows二进制文件(镜像)网页包含许多Python包的预编译二进制文件。下载您感兴趣的软件包后,您可以使用pip install安装它,例如pip install mysqlclient - 1.3.10 - cp35 - cp35m - win_amd64.whl。

再加上乔杜里的回答:

在我的情况下,我得到了另一个关于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

我必须安装lxml - 4.2.3 - cp37 - cp37m - win_amd64。与Sushant Chaudhary的回答一样,成功完成Scrapy的安装。

下载lxml 4.2.3——cp37 cp37m——win_amd64。whl来自Lxml 把它放在Python安装的文件夹里 使用PIP Install <file-name>安装它

现在您可以运行pip install scrapy。

对于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

只要去https://www.lfd.uci.edu/~gohlke/pythonlibs/找到适合你的包(whl文件)。下载它。在cmd中进入下载文件夹,或者在文件夹的地址栏上输入'cmd'。执行如下命令:

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

(请正确输入文件名。我只是举了一个例子)。无需安装6GB大小的build toll cpp,您的问题将得到解决。