python 安装 Scrapy(3500+ 字包含扩展补充内容)
1

Scrapy 是爬虫框架。

安装完 twisted (也是 Python 的一个库) 就可以安装 Scrapy。

这是网络上很多教程的思路,确实是这样,但过于抽象,不够全面,不能解决很多潜在的错误。

在本篇文章中你将接触到这些词:

  • 依赖
  • Microsoft Visual C++ 运行库
  • Anaconda 或者 Miniconda
  • wheels 格式和对应的库安装包后缀 .whl
  • pywin32

你会安装 Scrapy 时,肯定觉得简单,但本篇文章重点不在此,而是带大家了解安装 Scrapy 过程中牵扯到的知识。
(我卸载我电脑上的库 pip uninstall Scrapypip uninstall Twisted (Twisted 是 Scrapy 的其中一个重要依赖),然后以 重装--遇到问题--解决 的主线索来提及这些知识)

我的电脑 64 位,python 版本 3.6.4(你可以在命令行里输入 python --version 查看)

1. 直接 pip install Scrapy,出错

图中标注了一些信息:
pip install Scrapy

这里提示 error:
此处输入图片的描述

提示需要Microsoft Visual C++ 14.0 (注:2015版本):
此处输入图片的描述

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

但是我确定我的电脑已经装有(文末有整理版VC++运行库):

此处输入图片的描述

所以这个问题并不是没有安装运行库引起的。但很奇怪它还是报这个错误。其实原因就是没有安装Twisted

直接 pip install Twisted?不对,上图标注中能看到在 pip install Scrapy 的时候,工具会自动下载依赖包,而且豆瓣源确实有 Twisted,后来安装失败了,这个原因我也不懂,希望有懂的人能解释?

2. 本地使用 wheels 安装

所以才有了一开始提到的网络上普遍的解决方法:直接下载wheels包然后本地安装,另存位置没有要求下载地址
即:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
更换 # 后的包名可以快速定位你需要的包
(当然你去豆瓣源看看有没有wheels也是可以的)

下载完成后,表面上有两种方法安装,本质相同(路径+包名,注意:包名要带上后缀):
1.此处输入图片的描述
即 进入文件夹后安装
2.此处输入图片的描述
在命令中直接带上路径

Successfully installed Twisted-17.9.0

然后再 pip install Scrapy

pip install Scrapy

Installing collected packages: Scrapy
Successfully installed Scrapy-1.4.0

pip show Scrapy 可查看Scrapy的依赖包,如下:
依赖
注:pip命令大小写不敏感,你写成 pip show scrapy 也可以。

3.总结

到此你成功安装了 Scrapy,也了解了很多知识,懂得如何下载包,你需要的包安装不成功,就可以使用本地安装。


4.扩展补充

  • 前文提到错误提示:

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

我没有直接从这个链接下载 build-tools,是个人喜好问题,我没有去了解这个工具。这个工具安装完成后直接 pip install Twisted 也成功,原因未知,希望有谁解释一下具体细节?

  • Anaconda 和 Miuiconda
    你应该感受到 pip 安装 Scrapy 的麻烦之处了。所以 Scrapy 官方文档推荐大家使用 Canda 工具安装:
    此处输入图片的描述

Anaconda 和 MiniConda 都是 Python 的发行版。前者包含了科学计算的库,也是一个多版本 Python 管理工具,所以比较大,上百兆,后者只包含 python 和 Conda,所以较小。(具体大家自行研究)

  • pywin32
    其他教程有说到安装这个,前文没提到,这里给出。下载地址
    根据你的情况选择,我选择了:
    pywin32

  • 上一篇文章:vscode配置python编辑器

  • VC++ 运行库官方安装包

Microsoft Visual C++ 2005 Redistributable - 8.0.61001
http://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.exe
http://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x64.exe
Microsoft Visual C++ 2008 Redistributable - 9.0.30729.7523
https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe
https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe
Microsoft Visual C++ 2010 Redistributable - 10.0.40219.473
https://download.microsoft.com/download/E/E/0/EE05C9EF-A661-4D9E-BCE2-6961ECDF087F/vcredist_x86.exe
https://download.microsoft.com/download/E/E/0/EE05C9EF-A661-4D9E-BCE2-6961ECDF087F/vcredist_x64.exe
Microsoft Visual C++ 2012 Redistributable - 11.0.61135.400
http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe
http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe
Microsoft Visual C++ 2013 Redistributable - 12.0.40664
https://download.visualstudio.microsoft.com/download/pr/10912113/5da66ddebb0ad32ebd4b922fd82e8e25/vcredist_x86.exe
https://download.visualstudio.microsoft.com/download/pr/10912041/cee5d6bca2ddbcd039da727bf4acb48a/vcredist_x64.exe
Microsoft Visual C++ 2015 Redistributable - 14.0.24516.0 (适用WinXP)
http://download.microsoft.com/download/4/5/6/456cf79a-4046-4232-8e6f-7cf3d8075d9a/vc_redist.x86.exe
http://download.microsoft.com/download/8/5/e/85edb843-93af-4daa-ad1e-c33dfa95b2ea/vc_redist.x64.exe
Microsoft Visual C++ 2017 Redistributable - 14.12.25810 (适用Win7以上)
https://download.visualstudio.microsoft.com/download/pr/100198677/9ca0bba83015c844cc98d7cb783370e9/VC_redist.x86.exe
https://download.visualstudio.microsoft.com/download/pr/100197902/73e1ab8917c6ee08fb03a230865b9401/VC_redist.x64.exe

功笙

讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!