专栏首页进击的Coder腾讯云主机Python3环境安装Scrapy爬虫框架过程及常见错误
原创

腾讯云主机Python3环境安装Scrapy爬虫框架过程及常见错误

Scrapy安装介绍

Scrapy的安装有多种方式,它支持Python2.7版本及以上或Python3.3版本及以上。下面说明Python3环境下的安装过程。

Scrapy依赖的库比较多,至少需要依赖库有Twisted 14.0,lxml 3.4,pyOpenSSL 0.14。而在不同平台环境又各不相同,所以在安装之前最好确保把一些基本库安装好,尤其是Windows。

腾讯云有Windows、Linux多个版本系统,在这里分别介绍。

各平台安装简介

Anaconda

这种方法是一种比较简单的安装Scrapy的方法(尤其是对Windows来说),你可以使用该方法安装,也可以选用下文中专用平台的安装方法。

Anaconda是包含了常用的数据科学库的Python发行版本,如果没有安装,可以到https://www.continuum.io/downloads下载对应平台的包安装。

如果已经安装,那么可以轻松地通过conda命令安装Scrapy。

安装命令如下:

conda install Scrapy

Windows

  • 安装lxml

最好的安装方式是通过wheel文件来安装,http://www.lfd.uci.edu/~gohlke/pythonlibs/,从该网站找到lxml的相关文件。假如是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

即可完成lxml的安装,其他文件替换文件名即可。

  • 安装zope.interface

到官方网站https://pypi.python.org/pypi/zope.interface#downloads下载对应版本的wheel文件,然后pip安装。比如Python 3.5版本,Windows 64位系统,就下载zope.interface-4.3.3-cp35-cp35m-win_amd64.whl。

然后安装wheel文件即可,命令如下:

pip3 install zope.interface-4.3.3-cp35-cp35m-win_amd64.whl

其他版本替换文件名即可。

  • 安装pyOpenSSL

官方网站下载wheel文件,https://pypi.python.org/pypi/pyOpenSSL#downloads,如当前最新版本名称是pyOpenSSL-16.2.0-py2.py3-none-any.whl,下载后安装即可。

pip3 install pyOpenSSL-16.2.0-py2.py3-none-any.whl
  • 安装Twisted

同理,http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted下载wheel文件,利用pip安装即可。 如Python 3.5版本,Windows 64位系统,下载 Twisted‑17.1.0‑cp35‑cp35m‑win_amd64.whl,然后pip安装。

pip3 install Twisted‑17.1.0‑cp35‑cp35m‑win_amd64.whl
  • 安装pywin32

从官方网站 https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/ 下载对应版本的安装包安装即可。

  • 安装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 openssl-devel
  • 安装Scrapy

利用pip安装Scrapy即可,运行如下命令:

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
  • 安装Scrapy

利用pip安装Scrapy即可,运行如下命令:

pip3 install Scrapy

虽然腾讯云没有Mac系统,不过在这里还是加上MacOS的安装。

Mac OS

  • 依赖库安装

在Mac上构建Scrapy的依赖库需要C编译器以及开发头文件,它一般由Xcode提供,运行如下命令安装即可:

xcode-select --install
  • 安装Scrapy

利用pip安装Scrapy即可,运行如下命令:

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和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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 说说开源那些事儿

    前段时间我们遇到了一个情况,课程推送发出来之后有位同学在群里提到,机构提供的项目就是他同学导师的开源项目。

    崔庆才
  • 我写的 Bug 居然可以这么美

    当我们写的一个脚本或程序发生各种不可预知的异常时,如果我们没有进行捕获处理的时候,通常都会致使程序崩溃退出,并且会在终端打印出一堆 密密麻麻 的 traceba...

    崔庆才
  • 介绍一些比较方便好用的爬虫工具和服务

    在之前介绍过很多爬虫库的使用,其中大多数也是 Python 相关的,当然这些库很多都是给开发者来用的。但这对一个对爬虫没有什么开发经验的小白来说,还是有一定的上...

    崔庆才
  • ONF与ON.Lab合并完成并发布新项目

    2016年10月19日,开放网络基金会(ONF)宣布将与开放网络实验室(ON.Lab)进行合并,成立一个新的制定OpenFlow标准的开源组织,同时还将兼顾开源...

    SDNLAB
  • My97DatePicker日期控件自定义脚本日期在ThinkPHP5下面报错

    最近一个项目又牵扯到日期限定的操作,在thinkPHP5下集成My97DatePicker过程中报了一个未定义变量:D的错误。一般性载入没问题,只有在自定义脚本...

    世纪访客
  • 干货|如何提升数据分析的能力?

    业务篇 1 业务为核心,数据为王 了解整个产业链的结构 制定好业务的发展规划 了解衡量的核心指标 有了数据必须和业务结合才有效果。 需要懂业务的整体...

    灯塔大数据
  • MySQL Galera Cluster全解析 Part 4 Galera Cluster 安装前准备

    MySQL Galera Clusters全解析 Part 1 Galera Cluster 简介

    bsbforever
  • 我的首个Chrome扩展发布了

    我是一个重度的Gmail用户,工作的邮箱使用Gmail托管。而是用邮箱最大的烦恼就是处理垃圾邮件。好在Gmail支持创建过滤器来永久地过滤这些垃圾邮件。

    技术小黑屋
  • 深入AXI4总线-[四]传输事务属性(draft)

    AXI 协议中定义了一组信号表示读写传输事务的类型,分别为 ARCACHE 以及 AWCACHE,合称为 AXCACHE。两者控制了

    空白的贝塔
  • 从应用到内核查接口超时(下)

    接上文 从应用到内核查接口超时(中),查到是因为 journal 导致 write 系统调用被阻塞进而导致超时后,总感觉证据还不够充分,没有一个完美的交待。而且...

    枕边书

扫码关注云+社区

领取腾讯云代金券