windows 环境安装 scrapy 流水记
写了个scrapy小爬虫准备放到闲置的那台windows服务器上跑一下,服务器环境 Windows Server 2012 R2 64位操作系统,先安装Python 3.6.5,直接官网下载64位安装包,安装完成,运行python时,结果弹出 api-ms-win-crt-runtime-l1-1-0.dll 丢失的错误,搜索了一下说是需要安装vc2015运行环境Visual C++ Redistributable Package,下载安装vc_redist.x64.exe 又报 0x80240017 的错误,尴尬了,说这个错误是需要安装 KB2999226 这个补丁程序,好吧,接着下载安装,结果又提示此更新不适用于您的计算机,好嘛,真是尴尬了,接着搜索,说是还需要按顺序安装几个更新,具体是哪些懒得研究了,直接打开系统更新,装了一堆更新重启了一回,然还不行,再手动检查系统更新,又出来3个更新,继续更新,不容易,终于可以了,接下来赶紧进入正题,安装scrapy。
Scrapy的安装
使用pip安装scrapy pip install scrapy
没有意外的报错了
building 'twisted.test.raiser' 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
这是电脑上没有安装Microsoft Visual C++ 14.0的编译工具,所以无法对源码进行编译,解决的办法一种就是安装Microsoft Visual C++ Build Tools,当然更省事的是直接安装已经预编译好的Twisted包。
可以在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 这里找到已经预编译好Twisted包的二进制安装包whl文件。
Twisted, an event-driven networking engine.
Twisted‑18.4.0‑cp27‑cp27m‑win32.whl
Twisted‑18.4.0‑cp27‑cp27m‑win_amd64.whl
Twisted‑18.4.0‑cp34‑cp34m‑win32.whl
Twisted‑18.4.0‑cp34‑cp34m‑win_amd64.whl
Twisted‑18.4.0‑cp35‑cp35m‑win32.whl
Twisted‑18.4.0‑cp35‑cp35m‑win_amd64.whl
Twisted‑18.4.0‑cp36‑cp36m‑win32.whl
Twisted‑18.4.0‑cp36‑cp36m‑win_amd64.whl
Twisted‑18.4.0‑cp37‑cp37m‑win32.whl
Twisted‑18.4.0‑cp37‑cp37m‑win_amd64.whl
选择我们需要的Twisted版本,cp后面是Python的版本号,cp36表示Python版本3.6,amd64表示64位。
下载完成之后,进入下载文件所在的文件夹运行以下命令安装Twisted,pip install Twisted-18.4.0-cp36-cp36m-win_amd64.whl
,再运行pip install scrapy
即可安装成功。
不过如果运行scrapy,一般还会出现如下的错误
import win32api
ModuleNotFoundError: No module named 'win32api'
需要安装 pywin32,直接pip安装 pip install pywin32
,当然如果pip安装失败的话,仍然是可以直接用预编译好的二进制安装包whl文件来安装的。
如果有下载图片的话,可能还会报如下错误
import Image
ModuleNotFoundError: No module named 'PIL'
需要安装 pillow,直接pip安装 pip install pillow
。
windows环境下用pip安装一些带有c扩展的包时,可能会踩坑报错,这时直接下载预编译好的二进制安装包。
- https://www.lfd.uci.edu/~gohlke/pythonlibs/ 在这里下载预编译好的.whl文件,
Ctrl + F
输入python包名查找,找到对应模块包,根据python版本选择下载。 - 进入下载.whl文件所在的文件夹,执行命令
pip install 带后缀的完整文件名
即可完成安装。