Scrapy1.5入门(二)——安装向导

本文为译文,原文见地址:https://docs.scrapy.org/en/latest/intro/install.html

安装向导

安装Scrapy

Scrapy可以运行在Python2.7版本和Python3.4或者及其以上版本。

如果你正在使用Anaconda或者Miniconda,你可以从conda-forge通道来安装这个包,该通道具有Linux、Windows和OS X平台下最新的包。

使用conda安装Scrapy,运行如下命令:

conda install -c conda-forge scrapy

或者,如果你已经熟悉Python包的安装,可以从Pypi安装Scrapy及其依赖项:

pip install Scrapy

需要注意的是,有时候这可能需要根据你的操作系统解决一些依赖项的编译问题,因此请务必检查[特定于平台的安装说明](file:///F:/book/scrapy_1.5%E5%AE%98%E7%BD%91html/scrapy-latest/index.html#intro-install-platform-notes)。

我们能强烈推荐你在[专用的虚拟环境](file:///F:/book/scrapy_1.5%E5%AE%98%E7%BD%91html/scrapy-latest/index.html#intro-using-virtualenv)中安装Scrapy,这样可以避免与你系统中的包相冲突。

需要知道的事

Scrapy使用纯Python编写的,并且它依赖了一些Python包:

  • lxml,一个高效的XML和HTML解析器
  • parsel,一个依赖于lxml编写的HTML/XML数据提取库
  • w3lib,用于处理URL和web页面编码的多用途辅助程序
  • twisted,一个异步网络框架
  • cryptographypyOpenSSL,用来处理各种网络级安全的需求

Scrapy所需依赖包的最低版本:

  • Twisted 14.0
  • lxml 3.4
  • pyOpenSSL 0.14

Scrapy可以使用这些包的旧版本,但不能保证它会继续工作,因为它没有针对这些包进行测试。

其中一些包本身依赖于非Python包,这些包可能需要额外的安装步骤。如果遇到与这些依赖项有关的问题,请参阅它们各自的安装说明:

使用虚拟环境(强烈推荐)

我们建议在平台的虚拟环境中安装Scrapy。

Python包可以全局安装,或者安装在用户空间中。我们不建议在整个系统范围内安装Scrapy。

相反,我们推荐在虚拟环境(virtualenv)中安装Scrapy。virtualenv允许你不与已经安装的Python系统包发生冲突(这会破坏一些系统工具和脚本),并且仍然可以正常地使用pip安装包(没有sudo等)。

为了使用虚拟环境,请参阅virtualenv安装说明。这里使用全局安装:

$ [sudo] pip install virtualenv

你可以查看这里的用户指南,了解如何创建你的virtualenv。

注意:如果你使用Linux或者OS X,virtualenvwrapper是一个创建virtualenv的快捷工具。

一旦创建了virtualenv,就可以使用pip在其中安装Scrapy,就像任何其他Python包一样(请参阅下面特定于平台的指南,了解可能需要预先安装的非Python依赖项)。

Python virtualenv可以使用Python2安装,也可以使用Python3安装。

  • 如果你希望使用Python3安装Scrapy,则使用Python3 virtualenv安装Scrapy。
  • 如果你希望使用Python2安装Scrapy,则使用Python2 virtualenv安装Scrapy。

特定平台安装说明

Windows

虽然可以使用pip在Windows上安装Scrapy,但我们建议你安装AnacondaMiniconda,并使用来自conda-forge通道的包,这样可以避免大多数安装问题。

一旦你已经安装了AnacondaMiniconda,你可以使用下面的命令安装Scrapy:

conda install -c conda-forge scrapy

Ubuntu14.04及其更高版本

Scrapy目前使用足够多的lxml、twisted和pyOpenSSL版本进行了测试,并与最近的Ubuntu发行版兼容。但它也应该支持老版本的Ubuntu,比如Ubuntu14.04,尽管TLS连接可能存在问题。

不要使用Ubuntu提供的python-scrapy包,它们通常太久,跟不上最新的Scrapy。

为了在Ubuntu(或者基于Ubuntu的)系统上安装Scrapy,你需要安装这些依赖项:

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

  • python-dev,zlib1g-dev,libxml2-dev和libxslt1-dev均需要lxml
  • libssl-dev和libffi-dev均需要cryptography

如果你希望在Python3上安装Scrapy,命令如下:

sudo apt-get install python3 python3-dev

在virtualenv中,你可以在上述命令后使用pip来安装Scrapy:

pip install scrapy

Mac OS X

构建Scrapy的依赖关系需要有一个C编译器和开发头文件。在OS X上,这通常是由苹果的Xcode开发工具提供的。要安装Xcode命令行工具,请打开终端窗口并运行:

xcode-select --install

这里有一个已知的问题阻止了pip更新系统包。要成功安装Scrapy及其依赖项,必须解决这个问题。以下是一些建议的解决方案:

  • (推荐)不要使用系统自带的Python,安装一个新的、更新的版本,它不会与系统的其他部分冲突。下面是如何使用homebrew程序包管理器:

    • 按照https://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

PyPy

我们建议使用最新的PyPy版本。测试的版本是5.9.0。对于PyPy3,只测试了Linux安装。

对于CPython而言,大多数依赖于Scrapy的类现在都有了二进制轮(后缀为whl的安装包),但是对于PyPy没有。这意味着这些依赖项将在安装期间构建。在OS X上,你可能会遇到构建Cryptography依赖的问题,这里描述了这个问题的解决方案,即使用brew install openssl,然后导出该命令建议的标志(仅在安装Scrapy时需要)。在Linux上安装除了安装构建依赖之外,没有其他特殊问题。在Windows上安装PyPy的Scrapy是没有经过测试的。
通过运行scrapy bench,你可以检查Scrapy是否正确安装了。如果该命令给出了诸如TypeError: … got 2 unexpected keyword arguments的错误,这意味着setuptools无法获得一个特定于PyPy的依赖项。为了修复这个问题,请运行pip install ‘PyPyDispatcher>=2.1.0’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值