Scrapy 1.4 文档 02 安装指南
安装 Scrapy
Scrapy 运行在 Python 2.7 和 Python 3.3 或更高版本上。
如果您使用的是 Anaconda 或 Miniconda,则可以从 conda-forge 通道安装软件包,该通道具有适用于 Linux,Windows 和 OS X 的最新软件包。
使用 conda 安装 Scrapy,运行:
conda install -c conda-forge scrapy
或者,如果您已经熟悉 Python 软件包的安装,可以从 PyPI 安装 Scrapy 及其依赖的库:
pip install Scrapy
请注意,有时需要根据您的操作系统解决某些 Scrapy 依赖库的编译问题,因此请务必查看特定平台的安装说明。
我们强烈建议您在专用的 virtualenv 中安装 Scrapy,以避免与系统包冲突。
下面是有关各种平台更详细的说明。
最好要知道的事
Scrapy 软件包全部是用 Python 语言编写的,并且依赖几个关键的 Python 库(以及其他):
- lxml,一个高效的 XML 和 HTML 解析器
- parsel,一个 HTML/XML 数据提取库,依赖 lxml 库
- w3lib,用于处理 URL 和网页编码的多用途助手
- twisted,一个异步网络框架
- cryptography 和 pyOpenSSL,以处理各种网络安全需求
Scrapy 测试过的最低版本是:
- Twisted 14.0
- lxml 3.4
- pyOpenSSL 0.14
这些库更低版本也可能使 Scrapy 正常工作,但在将来不能保证它继续工作,因为它们没有被测试。
其中一些软件包本身依赖非 Python 软件包,这可能需要额外的安装步骤,具体取决于您的平台。 请查看下面的平台安装指南。
如果这些依赖出现了问题,请参考各自的安装说明:
使用虚拟环境(推荐)
(太长,别看):我们建议在所有平台的虚拟环境中安装 Scrapy。
Python 软件包可以在全局(也称为系统范围)也可以在用户空间中进行安装。 我们不建议在系统空间中安装 Scrapy。
相反,我们建议您在“虚拟环境”(virtualenv)中安装 Scrapy。Virtualenvs 避免了与已经安装的 Python 系统软件包发生冲突(可能会破坏您的一些系统工具和脚本),并且仍然可以通过 pip 安装软件包(没有 sudo 等)。
要开始使用虚拟环境,请参阅 virtualenv 安装说明。
$ [sudo] pip install virtualenv
查看这个用户指南,了解如何创建 virtualenv。
注意
在 Linux 或 OS X 上,virtualenvwrapper 是一个创建 virtualenvs 的便利工具。
一旦创建了一个 virtualenv,就可以像其他 Python 软件包一样在其中安装 Scrapy。 (有关可能需要事先安装的非 Python 依赖关系,请参阅下面的针对特定平台的指南)。
默认情况下,可以创建 Python virtualenvs 以使用 Python 2,或者默认使用 Python 3。
- 如果要在 Python 3 中使用 scrapy,请在 Python 3 virtualenv 中安装 scrapy。
- 如果要在 Python 2 中使用 scrapy,请在 Python 2 virtualenv 中安装 scrapy。
具体平台安装说明
Windows
虽然可以使用 pip 在 Windows 上安装 Scrapy,但我们建议您安装 Anaconda 或 Miniconda,并使用 conda-forge 通道中的软件包以避免大多数安装问题。
安装 Anaconda 或 Miniconda 后,安装 Scrapy :
conda install -c conda-forge scrapy
Ubuntu 12.04 或更高版本
Scrapy 目前正在使用最新版本的 lxml,twisted 和 pyOpenSSL 进行测试,并且与最新的 Ubuntu 发行版兼容。 但它也支持较早版本的 Ubuntu,如 Ubuntu 12.04,尽管存在潜在的 TLS 连接问题。
不要使用 Ubuntu 提供的 python-scrapy 软件包,它们的版本通常太老了。要在 Ubuntu(或类 Ubuntu)系统上安装 scrapy,您需要安装这些依赖项:
sudo apt-get install python-dev python-pip libxml2-dev libxslt1-dev zlib1g-dev libffi-dev libssl-dev
- lxml 需要 python-dev, zlib1g-dev, libxml2-dev 和 libxslt1-dev
- cryptography 需要 libssl-dev 和 libffi-dev
如果你想在 Python 3 上安装 Scrapy,你还需要 Python 3 开发头:
sudo apt-get install python3 python3-dev
在 virtualenv 中,您可以使用 pip 安装Scrapy:
pip install scrapy
注意
在 Debian Wheezy(7.0)及更高版本中安装 Scrapy 同样需要上文提到的非 Python 依赖关系。
Mac OS X
构建 Scrapy 的依赖项需要C编译器和开发头。 在 OS X 上,这通常由苹果的 Xcode 开发工具提供。 要安装 Xcode 命令行工具,打开终端窗口并运行:
xcode-select --install
有一个已知的问题阻止 pip 更新系统包。 必须解决这个问题才能成功安装 Scrapy 及其依赖关系。 以下是一些解决方案
- (推荐)不要使用系统 Python,安装一个不会与系统其余部分冲突的最新版本。 以下是使用 homebrew 包管理器的方法:
- 按照 http://brew.sh/ 中的说明安装 homebrew
- 更新您的 PATH 变量以说明在系统软件包之前应该使用 homebrew 软件包(如果您使用 zsh 作为默认 shell,则要将 .bashrc 更改为 .zshrc):
echo "export PATH=/usr/local/bin:/usr/local/sbin:$PATH" >> ~/.bashrc
- 重新加载 .bashrc 以确保发生更改:
source ~/.bashrc
- 安装 Python:
brew install python
- 最新版本的 Python 绑定了 pip,因此您不需要单独安装它。 如果不是这样,升级 Python:
brew update; brew upgrade python
- (可选)在独立的 Python 环境中安装 Scrapy。
此方法是上述 OS X 问题的解决方法,它是管理依赖关系的良好做法,可以补充第一种方法。
virtualenv 是一个可以用来在 python 中创建虚拟环境的工具。 我们推荐阅读 http://docs.python-guide.org/en/latest/dev/virtualenvs/ 这样的教程来了解它。
使用任一上述解决方法后,您应该能够安装 Scrapy:
pip install Scrapy
Scrapy 1.4 文档 02 安装指南的更多相关文章
- Scrapy 1.4 文档 03 Scrapy 教程
在本教程中,我们假设您已经安装了Scrapy.如果没有,请参阅安装指南. 我们将要抓取 quotes.toscrape.com,一个列出著名作家的名言(quote)的网站. 本教程将引导您完成以下任务 ...
- Scrapy 1.4 文档 01 初窥 Scrapy
初窥 Scrapy Scrapy 是用于抓取网站并提取结构化数据的应用程序框架,其应用非常广泛,如数据挖掘,信息处理或历史存档. 尽管 Scrapy 最初设计用于网络数据采集(web scraping ...
- Scrapy 1.4 文档 05 命令行工具
在系统命令行中,使用 scrapy 命令可以创建工程或启动爬虫,它控制着 Scrapy 的行为,我们称之为 Scrapy 命令行工具(command-line tool)或 Scrapy 工具(Scr ...
- Scrapy 1.4 文档 04 例子
最好的学习方法是举例说明,Scrapy也不例外. 因此,我们有一个名为 quotesbot 的 Scrapy 项目,您可以通过它来学习更多关于 Scrapy 的知识. 它包含两个用于http://qu ...
- 李洪强iOS开发之-环信02.1_环信 SDK 2.x到3.0升级文档
李洪强iOS开发之-环信02.1_环信 SDK 2.x到3.0升级文档 SDK 2.x 至 3.0 升级指南 环信 SDK 3.0 升级文档 3.0 中的核心类为 EMClient 类,通过 EMCl ...
- Mongodb 笔记02 创建、更新和删除文档
创建.更新和删除文档 1. 插入并保存: 1). 单条插入,insert : db.foo.insert({"bar":"baz"}) 2). ...
- JavaSE学习笔记02运算符、帮助文档生成与Scanner输入
1. 运算符 1. 算术运算符:+,-,*,/,%,++,-- //二元运算符 int a = 10; int b = 20; int c = 25; int d = 25; System.out.p ...
- 阳明-K8S训练营全部文档-2020年08月11日14:59:02更新
阳明-K8S训练营全部文档 Docker 基础 简介 安装 基本操作 Dockerfile Dockerfile最佳实践 Kubernetes 基础 简介 安装 资源清单 Pod 原理 Pod 生命周 ...
- C#向PPT文档插入图片以及导出图片
PowerPoint演示文稿是我们日常工作中常用的办公软件之一,而图片则是PowerPoint文档的重要组成部分,那么如何向幻灯片插入图片以及导出图片呢?本文我将给大家分享如何使用一个免费版Power ...
随机推荐
- 安卓系统启动脚本init.rc说明文件readme.txt翻译
本说明文件位于system/core/init/readme.txt 本文参考深入解析安卓系统一书,进行翻译,版权部分归书的作者 刘超,资深Android专家,系统架构师. 博客地址:http:// ...
- hadoop分布式安装部署详细视频教程(网盘附配好环境的CentOS虚拟机文件/hadoop配置文件)
参考资源下载:http://pan.baidu.com/s/1ntwUij3视频安装教程:hadoop安装.flvVirtualBox虚拟机:hadoop.part1-part5.rarhadoop文 ...
- mysql性能优化之-innodb_flush_log_at_trx_commit
innodb_flush_log_at_trx_commit是配置MySql日志何时写入硬盘的参数: 一.参数值说明 0:log buffer将每秒一次地写入log file中,并且log file的 ...
- Java Web开发中路径问题小结
Java Web开发中,路径问题是个挺麻烦的问题,本文小结了几个常见的路径问题,希望能对各位读者有所帮助. (1) Web开发中路径的几个基本概念 假设在浏览器中访问了如下的页面,如图1所示: 图1 ...
- FFPLAY的原理(五)
创建线程 Spawning Threads Overview Last time we added audio support by taking advantage of SDL's audio f ...
- Resin文档阅读笔记
阅读文档对应的版本为Resin4.0,且基本只关注Standard版本的功能. 1.Resin可以注册为服务: To install the service, use C:/> resin-3. ...
- 2013-8:SDCE大会笔记
百度移动云三大开发框架:Clouda,SiteApp,AppBuilder MBaaS解决高性能Server很难的问题 百度开放云的区域运营服务于创业者 Pinterest架构变迁: 互联网就是把线下 ...
- Nowcoder84D
Nowcoder84D 传送门 很有趣的进制转换题! 如果x满足题意,那么x+k-1一定能符合要求! 因为k-1用k进制表示就是1,-1,1+(-1)=0所以数位之和不变! 用map维护一下前缀和.就 ...
- HashMap原理浅析
HashMap概述 HashMap是基于哈希表和Map实现来的,它提供所有可选的映射方式,可以允许使用null键,除了不同步和允许使用null键之外,HashMap和HashTable基本上相同.因此 ...
- Yii2表单提交(带文件上传)
今天写一个php的表单提交接口,除了基本的字符串数据,还带文件上传,不用说前端form标签内应该有这些属性 <form enctype="multipart/form-data&quo ...