首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >二、安装 Scrapy

二、安装 Scrapy

作者头像
喵叔
发布2020-09-08 16:41:06
1.1K0
发布2020-09-08 16:41:06
举报
文章被收录于专栏:喵叔's 专栏喵叔's 专栏
零、安装 Scrapy

Scrapy 必须运行在 CPython 或 PyPy 下的 Python 2.7 或 Python 3.5 及以上平台。如果您使用的是 Anaconda 或 Miniconda ,则可以从 conda-forge 安装该软件包,它包含适用于 Linux 、 Windows 和 OS X 的最新软件包。 如果要使用 conda命令安装 Scrapy 只需运行以下命令:

conda install -c conda-forge scrapy

当你熟悉 Python 软件包的安装,则可以使用以下方法从PyPI安装Scrapy及其依赖项:

pip install Scrapy
  1. 注意

这里需要注意的是 Scrapy 是用 Python 编写的,因此依赖于一些 Python 包,主要依赖如下:

  • lxml,高效的XML和HTML解析器;
  • parsel,是在lxml之上编写的HTML / XML数据提取库;
  • w3lib,一个用于处理URL和网页编码的多功能助手;
  • twisted,异步网络框架;
  • cryptography 和 pyOpenSSL,用于处理各种网络级安全需求;

运行 Scrapy 所需依赖包的最低版本如下:

  • Twisted 14.0
  • lxml 3.4
  • pyOpenSSL 0.14

注意: Scrapy 虽然可以使用这些软件包的老旧版本,但不能保证它将继续工作。

一、特定平台说明
  1. Windows 尽管可以使用 pip 在 Windows 上安装 Scrapy ,但建议安装 Anaconda 或 Miniconda 并使用 conda-forge 中的软件包,可以避免大多数安装问题。使用以下命令安装 Scrapy :
conda install -c conda-forge scrapy

2.Ubuntu Scrapy 目前使用的是新版本的 lxml 、twisted 和 pyOpenSSL ,并与最新的 Ubuntu 发行版兼容。在 Ubuntu 系统上安装 scrapy ,需要安装如下依赖:

sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev

如果要在Python 3上安装scrapy,则还需要Python 3开发标头:

sudo apt-get install python3 python3-dev

在 virtualenv 内部,可以使用 pip 安装 Scrapy :

pip install scrapy

注意:不要使用 python-scrapy Ubuntu 提供的软件包,它不是最新的软件包,而且存在兼容性问题。

3.Mac OS Scrapy 需要依赖 C 编译器。在 OS X上,通常由 Xcode 开发工具提供。要安装 Xcode 命令行工具,在命令行中输入如下命令:

xcode-select --install

目前存在一个已知问题,无法通过 pip 更新系统软件包。必须解决此问题才能成功安装 Scrapy 及其依赖项。以下是一些建议的解决方案:

  • 不要使用系统自带 python,安装新的更新版本,该版本应与系统的其余部分不冲突;
  • 在虚拟环境中安装 Scrapy 。
二、故障排除
  1. AttributeError: ‘module’ object has no attribute ‘OP_NO_TLSv1_1’ 在安装或升级 Scrapy、Twisted、pyOpenSSL 之后,可能会收到带有以下异常:
[…]
  File "[…]/site-packages/twisted/protocols/tls.py", line 63, in <module>
    from twisted.internet._sslverify import _setAcceptableProtocols
  File "[…]/site-packages/twisted/internet/_sslverify.py", line 38, in <module>
    TLSVersion.TLSv1_1: SSL.OP_NO_TLSv1_1,
AttributeError: 'module' object has no attribute 'OP_NO_TLSv1_1'

出现此异常的原因是您的系统或虚拟环境具有 Twisted 版本不支持的 pyOpenSSL 版本。秩序输入如下命令即可解决:

pip install twisted[tls]

的 pyOpenSSL 版本。秩序输入如下命令即可解决:

pip install twisted[tls]
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 零、安装 Scrapy
  • 一、特定平台说明
  • 二、故障排除
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档