Scrapy安装
Scrapy的安装有多种方式,它支持Python2.7版本及以上或者是Python3.3版本及以上。下面来说py3环境下,scrapy的安装过程。
Scrapy依赖的库比较多,至少需要依赖库Twisted 14.0,lxml 3.4,pyOpenSSL 0.14。在不同平台环境又不相同,所以在安装前确保先把一些基本库安装好,尤其是Windows。
一、Anaconda
这种方法是一种比较简单的安装scrapy的方法(尤其对Windows来说),你可以使用该方法安装。也可以选用下文中专用平台的安装方法。
Anaconda是包含了常用的数据科学库的Python发行版本,如果没有安装,可以到官网https://www.continuum.io/downloads下载对应平台的包安装。
如果已经安装了,可以通过conda命令安装scrapy。
安装如下:
先打开Anaconda的 Anaconda Prompt 输入
conda install Scrapy
如图所示表示安装成功:
二、Windows
1.安装lxml
最好的安装方式是通过wheel文件来安装,http://www.lfd.uci.edu/~gohlke/pythonlibs/,这个网站真的是windows用户的福音,基本上python的库里面都有,称他为python万能库网站。从该网站找到lxml的相关文件(ctrl+F),假如是python3.5版本,windows 64位系统,那就找到 lxml?3.7.2?cp35?cp35m?win_amd64.whl 这个文件下载,通过pip安装。
下载之后,运行如下命令安装:
pip3 install wheel pip3 install lxml?3.7.2?cp35?cp35m?win_amd64.whl #如果是python2版本,pip3改为pip2
即可完成lxml的安装,其他文件替换文件名即可。
2.安装pyOpenSSL
官方网站下载wheel文件,https://pypi.python.org/pypi/pyOpenSSL#downloads,下载 .whl文件,安装即可。
pip3 install pyOpenSSL-16.2.0-py2.py3-none-any.whl
3.安装Twisted
同理,从python万能网站上下载 http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 安装即可。假如是python3.5版本,windows 64位系统,那就找到 Twisted?17.1.0?cp35?cp35m?win_amd64.whl
这个文件下载,通过pip安装。
pip3 install Twisted?17.1.0?cp35?cp35m?win_amd64.whl
4.安装pywin32
从官方网站 https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/ 下载对应版本的安装包安装即可。
5.安装Scrapy
最后安装Scrapy即可,依然使用pip,命令如下:
pip3 install Scrapy
三、CentOS、RedHat、Fedora
依赖库安装,确保一些必须的类库已经安装,运行如下命令:
sudo yum groupinstall development tools sudo yum install python34-devel epel-release libxslt-devel libxml2-devel openssldevel
pip3 install Scrapy
四、Ubuntu、Debian、Deepin
依赖库安装,确保一些必须的类库已经安装,运行如下命令:
sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev
pip3 install Scrapy
五、Mac OS
依赖库安装,在Mac上构建Scrapy的依赖库需要C编译器以及开发头文件,他一般由Xcode提供,运行如下命令安装即可:
xcode-select --install
pip3 install Scrapy
验证:
安装之后,在命令行输入scrapy,如果出现类似下方的结果,那么久恭喜你安装成功scrapy。
六、常见错误
- pkg_resources.VersionConflict: (six 1.5.2 (/usr/lib/python3/dist-packages),Requirement.parse(‘six>=1.6.0‘))
six包版本过低,six包是一个提供兼容Python2和3的库,升级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,通常指的是允许以一种语言编写的代码调用另一种语言的代码。而Linffi库只是提供了最底层的、与架构相关的、完整的“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
作者:今孝
出处:http://www.cnblogs.com/jinxiao-pu
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。