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


当前回答

我只是在使用最新的Python 3.6时遇到了同样的问题。Windows OS 10家庭版和64位操作系统。

解决方法:

通过控制面板卸载任何版本的Visual Studio 安装Visual Studio 2015并选择将安装的默认选项 Visual c++ 14.0 您可以使用PyCharm安装Scrapy:菜单项目→项目解释器→+(安装Scrapy) 通过导入检查REPL和PyCharm中的Scrapy。您应该不会看到任何错误。

其他回答

我也面临着同样的问题。下面的方法对我很有效:

根据系统上安装的Python版本,从Christoph Gohlke安装程序站点下载非官方二进制文件。

导航到安装文件的文件夹并运行

pip install filename

python_ldap - 3.0.0 - cp35 - cp35m - win_amd64。我的机器是64位,Python版本是3.5。

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

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

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

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

你的路径只列出了Visual Studio 11和12,它需要14,也就是Visual Studio 2015。如果你安装了它,并记得勾选Languages→c++,那么它应该可以工作。

在我的Python 3.5安装中,错误消息更有用一些,并包含了获取它的URL:

错误:需要Microsoft Visual c++ 14.0。通过“Microsoft Visual c++ Build Tools”获取:http://landinghub.visualstudio.com/visual-cpp-build-tools

新的工作环节。

根据Fire的建议,你可能还需要升级setuptools包来消除错误:

pip install --upgrade setuptools

再加上乔杜里的回答:

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

确保您已经安装了这些必需的软件包。当我安装检查包时,它在我的情况下完美地工作: