1 Scrapy安装
Scrapy的安装有多种方式,它支持Python2.7版本及以上或Python3.3版本及以上。下面说明Python3环境下的安装。
Scrapy依赖的库比较多,至少需要依赖库有Twisted14.0,lxml 3.4,pyOpenSSL 0.14。而在不同平台环境又各不相同,所以在安装之前最好确保把一些基本库安装好,尤其是Windows。
2 Anaconda
安装命令如下:
conda install Scrapy
3 Windows
安装lxml
最后通过wheel安装。
查找:https://www.lfd.uci.edu/~gohlke/pythonlibs/
安装命令:
pip3 install wheel
pip3 install lxml‑3.7.2‑cp35‑cp35m‑win_amd64.whl
安装pyOpenSSL
下载网页:https://pypi.python.org/pypi/pyOpenSSL#downloads
安装命令:
pip3 install pyOpenSSL-16.2.0-py2.py3-none-any.whl
安装Twisted
安装命令:
pip3 install Twisted‑17.1.0‑cp35‑cp35m‑win_amd64.whl
安装pywin32
从官方网站https://github.com/mhammond/pywin32/releases/下载对应版本
安装Scrapy
pip3 install Scrapy
验证安装成功:
4 CentOS̵ RedHat̵ Fedora
依赖库安装
确保一些必须的类库已经安装,运行如下命令:
sudo yum groupinstall development tools
sudo yum install python34-devel epel-release libxslt-devel libxml2-devel openssl-devel
安装Scrapy
pip3 install Scrapy
5 Ubuntu̵ Debian̵ Deepin
依赖库安装
确保一些必须的类库已经安装,运行如下命令:
sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2
libxml2-dev libxslt1-dev zlib1g-dev
安装Scrapy
pip3 install Scrapy
6 Mac OS
依赖库安装
在Mac上构建Scrapy的依赖库需要C编译器以及开头头文件,它一般由Xcode提供,运行如下命令:
xcode-select --install
安装Scrapy
pip3 install Scrapy
7 常见错误
- pkg_resources.VersionConflict: (six 1.5.2 (/usr/lib/python3/dist-packages),
Requirement.parse(‘six>=1.6.0’))
six包版本过低,six包是一个提供兼容Python2和Python3的库,升级six包即可。
sudo pip3 install -U six
- c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory
缺少Libffi这个库。什么是Libffi?“FFI"的全名是Foreign Function Interface,通常指的是允许以一种语言编写的代码调用另一种语言的代码。而Libffi库只提供了最底层的,与架构相关的,完整的"FFI”。
安装相应的库即可。
Ubuntu̵ Debian:
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
CentOS̵ RedHat:
sudo yum install gcc libffi-devel python-devel openssl-devel
- ImportError: No module named ‘cryptography’
这是缺少加密的相关组件,利用pip安装即可。
sudo pip3 install cryptography
- ImportError: No module named ‘packaging’
缺少packaging这个包,它提供了Python包的核心功能,利用pip安装即可。
sudo pip3 install packaging
- ImportError: No module named ‘appdirs’
缺少appdirs这个包,它用来确认文件目录,利用pip单独安装即可。
sudo pip3 install appdirs