安装Scrapy时出现错误:需要Microsoft Visual C++ 14.0

9

我了解到Scrapy是一款非常好的爬虫工具,因此尝试在我的计算机上安装Scrapy,但当我尝试运行pip install scrapy 时,它安装了一段时间后并抛出了这个错误...

error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

我尝试在虚拟环境中安装它,但问题仍然存在。
编辑: 这是错误后我得到的内容。
    error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

    ----------------------------------------
Command "d:\pycharmprojects\environments\scrapyenv\scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\User\\AppData\\Local\\Temp\\pip-build-arbeqlly\\Twisted\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\User\AppData\Local\Temp\pip-jdj93131-record\install-record.txt --single-version-externally-managed --compile --install-headers d:\pycharmprojects\environments\scrapyenv\include\site\python3.5\Twisted" failed with error code 1 in C:\Users\User\AppData\Local\Temp\pip-build-arbeqlly\Twisted\

有需要帮忙的吗?

3
你尝试过访问建议的网址吗? - eLRuLL
是的,我做了,但问题是Scrapy与Visual Studio有什么关系? - P.hunter
我认为Scrapy使用基础的C/C++库来提高速度。我曾以为如果通过wheel安装,Windows将会被预打包,但我可能是错的。(还请注意https://dev59.com/b47ea4cB1Zd3GeqPErNQ,这是Mac用户类似的问题) - Foon
目前在Windows上安装Scrapy的推荐方法是使用Anaconda/Miniconda和conda-forge渠道 - paul trmbrth
8个回答

16

使用conda安装

如果您已经有conda,请使用以下命令:conda install -c anaconda scrapy

或者

使用pip安装

请在此位置下载https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

//Download the whl file of same version as Python version here cp27 means python2.7
pip install Twisted-18.9.0-cp27-cp27m-win_amd64.whl 
pip install scrapy

3
对我而言,通过下载Twisted文件并使用pip安装它肯定是最快、最简单的解决方案。 - NJS
太神奇了,这就解决了问题。不需要下载那4GB的Visual Studio。 - Saharsh

9

更新 正如有人在编辑中指出的,如果您只下载vc_redist.x64.exe,则大小仅为15MB,因此请转到“其他工具和框架”,选择MS Visual C++。

通过从此处安装工具解决了问题。

事实上,一些Python模块需要使用C++工具编译,并围绕着一个Python包装器编写,因为它们是用C++编写的。

一旦下载设置完成,您可以选择特定的工具或下载提供的其他设施。

虽然大小约为4GB,但如果将来需要使用其他用C ++制作的模块,将会非常有用。


3

但问题是Scrapy与Visual Studio有什么关系?

一些Python模块需要C/C++编译器进行构建。这就是为什么您需要Visual Studio的原因。

引用Scrapy安装指南中的话:

Scrapy依赖的一些二进制包(如Twisted、lxml和pyOpenSSL)需要安装可用的编译器,如果您没有安装Visual Studio,则会安装失败。


但是当我使用 lxml 时,这个问题就不存在了。 - P.hunter

0

安装并使用Anaconda(一个Python包管理器)代替pip。

这里下载Anaconda,然后使用以下命令:

conda install scrapy

0

仅安装“vc_redist.x64.exe”对我来说不起作用。 我在这里下载了Visual Studio 2019 Community,然后选择了“C++桌面开发”,然后只勾选了前两个框(请参见右侧的以下截图):

enter image description here

这对我有用。


0

您需要安装Python 2.7,然后将Python27和Pyhton27/Scripts添加到路径中,并安装Visual C++ 14或更高版本,最后在命令提示符中键入pip install Scrapy


0

我刚刚安装了Visual Studio桌面工具来进行C++编程,并已经解决了问题。


-1
刚刚安装了Visual Studio Build Tools,问题得到了解决。愉快地编程吧!

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