Scrapy 1.4 文檔 02 安裝指南

安裝 Scrapy

Scrapy 運行在 Python 2.7 和 Python 3.3 或更高版本上。html

若是您使用的是 Anaconda 或 Miniconda,則能夠從 conda-forge 通道安裝軟件包,該通道具備適用於 Linux,Windows 和 OS X 的最新軟件包。python

使用 conda 安裝 Scrapy,運行:shell

conda install -c conda-forge scrapy

或者,若是您已經熟悉 Python 軟件包的安裝,能夠從 PyPI 安裝 Scrapy 及其依賴的庫:xcode

pip install Scrapy

請注意,有時須要根據您的操做系統解決某些 Scrapy 依賴庫的編譯問題,所以請務必查看特定平臺的安裝說明。安全

咱們強烈建議您在專用的 virtualenv 中安裝 Scrapy,以免與系統包衝突。bash

下面是有關各類平臺更詳細的說明。網絡

最好要知道的事

Scrapy 軟件包所有是用 Python 語言編寫的,而且依賴幾個關鍵的 Python 庫(以及其餘):app

  • 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-devlibffi-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
相關文章
相關標籤/搜索