安装指南

安装Scrapy

Scrapy运行在Python 2.7和Python 3.3或以上 (在Windows上Python 3尚不支持)。

如果你已经熟悉Python软件包的安装,你可以从PyPI安装Scrapy及其依赖︰

pip install Scrapy

我们强烈建议你在一个专有的virtualenv中安装Scrapy,以避免与你的系统包冲突。

有关详细的和平台的具体说明,请继续阅读。

最好知道的事情

Scrapy是纯用Python编写的,依赖几个关键的Python包 (及其他)︰

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

Scrapy测试过的最小版本是︰

  • Twisted 14.0
  • lxml 3.4
  • pyOpenSSL 0.14

Scrapy与这些软件包的较旧版本一起可能工作,但不能保证它将持续工作,因为没有对它们测试过。

这些软件包的某些本身依赖于非Python包,取决于你的平台可能需要额外的安装步骤。请查看下面的特定于平台的指南

一旦有任何有关这些依赖的麻烦,请参阅其各自安装说明︰

特定平台的安装注意事项

Windows

  • https://www.python.org/downloads/安装Python 2.7

    你需要调整PATH环境变量,来包括Python可执行文件和其他脚本的路径。以下路径需要添加到PATH中:

    C:\Python27\;C:\Python27\Scripts\;
    

    为了更新PATH,请打开命令提示窗口并运行:

    c:\python27\python.exe c:\python27\tools\scripts\win_add2path.py
    

    关闭命令行提升窗口并重新打开它使之生效,运行下面的命令并检查它显示预期的Python版本:

    python --version
    
  • http://sourceforge.net/projects/pywin32/安装pywin32

    请确认下载符合你系统的架构(win32或者amd64)

  • (只有Python<2.7.9才需要)https://pip.pypa.io/en/latest/installing/安装pip

    打开命令行提示窗口,确认pip被正确安装:

    pip --version
    
  • 到这里,Python 2.7和pip软件包管理器肯定可以工作,让我们安装Scrapy:

    pip install Scrapy
    

Python 3在Windows上不支持。这是因为Scrapy的核心要求Twisted在Windows上不支持Python 3。

Ubuntu 12.04或以上

目前Scrapy与最近版本的lxml,twisted和pyOpenSSL进行了测试,并与最近的Ubuntu发布兼容。但它也应该支持旧版本的Ubuntu,如Ubuntu 12.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
  • lxml要求python-dev, zlib1g-dev, libxml2-devlibxslt1-dev
  • cryptography要求libssl-devlibffi-dev

如果你想要在Python 3上安装scrapy,你也需要Python 3的development headers︰

sudo apt-get install python3 python3-dev

virtualenv中,之后你可以通过pip安装Scrapy︰

pip install scrapy

同样的非python依赖可以用于在Debian Wheezy (7.0) 及以上安装Scrapy 。

Mac OS X

生成Scrapy的依赖项,需要一个C编译器和开发头文件的存在。在OS X上通常是由苹果公司的Xcode开发工具提供。要安装Xcode命令行工具,打开一个终端窗口并运行︰

xcode-select --install

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

  • (推荐)不要使用系统python,安装一个新的更新的版本,它与系统的其它部分不冲突。这里是如何使用homebrew软件包管理器实现它︰

    • 依照http://brew.sh/中的说明安装homebrew

    • 更新你的PATH变量说明homebrew包应该在系统软件包之前使用(修改.bashrc.zshrc,如果你使用zsh 作为默认 shell)︰

      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

Anaconda

使用Anaconda是替代使用virtualenv与安装pip的方法。

对于Windows用户,或者如果你通过pip安装有问题,这是安装Scrapy的推荐方式。

如果你已经安装AnacondaMinicondaScrapinghub为Linux、Windows和OS X维护官方conda包。

若要使用conda安装Scrapy,运行︰

conda install -c scrapinghub scrapy