1. 程式人生 > >scrapy安裝與配置

scrapy安裝與配置

Scrapy安裝

  Scrapy的安裝有多種方式,它支援Python2.7版本及以上或者是Python3.3版本及以上。下面來說py3環境下,scrapy的安裝過程。

  Scrapy依賴的庫比較多,至少需要依賴庫Twisted 14.0,lxml 3.4,pyOpenSSL 0.14。在不同平臺環境又不相同,所以在安裝前確保先把一些基本庫安裝好,尤其是Windows。

回到頂部

一、Anaconda

  這種方法是一種比較簡單的安裝scrapy的方法(尤其對Windows來說),你可以使用該方法安裝。也可以選用下文中專用平臺的安裝方法。

  Anaconda是包含了常用的資料科學庫的Python發行版本,如果沒有安裝,可以到官網

https://www.continuum.io/downloads下載對應平臺的包安裝。

  如果已經安裝了,可以通過conda命令安裝scrapy。

  安裝如下:

  先開啟Anaconda的 Anaconda Prompt 輸入

 conda install Scrapy

  如圖所示表示安裝成功:

回到頂部

二、Windows

1.安裝lxml

  最好的安裝方式是通過wheel檔案來安裝,http://www.lfd.uci.edu/~gohlke/pythonlibs/,這個網站真的是windows使用者的福音,基本上python的庫裡面都有,稱他為python萬能庫網站。從該網站找到lxml的相關檔案(ctrl+F),假如是python3.5版本,windows 64位系統,那就找到 lxml‑3.7.2‑cp35‑cp35m‑win_amd64.whl 這個檔案下載,通過pip安裝。

  

  下載之後,執行如下命令安裝:

pip3 install wheel
pip3 install lxml‑3.7.2‑cp35‑cp35m‑win_amd64.whl
#如果是python2版本,pip3改為pip2

  即可完成lxml的安裝,其他檔案替換檔名即可。

2.安裝pyOpenSSL

  官方網站下載wheel檔案,https://pypi.python.org/pypi/pyOpenSSL#downloads,下載 .whl檔案,安裝即可。

pip3 install pyOpenSSL-16.2.0-py2.py3-none-any.whl

3.安裝Twisted

  同理,從python萬能網站上下載 http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 安裝即可。假如是python3.5版本,windows 64位系統,那就找到 Twisted‑17.1.0‑cp35‑cp35m‑win_amd64.whl 
 這個檔案下載,通過pip安裝。

pip3 install Twisted‑17.1.0‑cp35‑cp35m‑win_amd64.whl 

4.安裝pywin32

  從官方網站 https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/ 下載對應版本的安裝包安裝即可。

5.安裝Scrapy

  最後安裝Scrapy即可,依然使用pip,命令如下:

pip3 install Scrapy

回到頂部

三、CentOS、RedHat、Fedora

  依賴庫安裝,確保一些必須的類庫已經安裝,執行如下命令:

sudo yum groupinstall development tools
sudo yum install python34-devel epel-release libxslt-devel libxml2-devel openssldevel
pip3 install Scrapy

回到頂部

四、Ubuntu、Debian、Deepin

  依賴庫安裝,確保一些必須的類庫已經安裝,執行如下命令:

sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev 
pip3 install Scrapy

回到頂部

五、Mac OS

  依賴庫安裝,在Mac上構建Scrapy的依賴庫需要C編譯器以及開發標頭檔案,他一般由Xcode提供,執行如下命令安裝即可:

xcode-select --install
pip3 install Scrapy

  驗證:

  安裝之後,在命令列輸入scrapy,如果出現類似下方的結果,那麼久恭喜你安裝成功scrapy。

  

回到頂部

六、常見錯誤

  • pkg_resources.VersionConflict: (six 1.5.2 (/usr/lib/python3/dist-packages),Requirement.parse('six>=1.6.0'))
    six包版本過低,six包是一個提供相容Python2和3的庫,升級six包即可。
    sudo pip3 install -U six
  • c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory 
    缺少Libffi這個庫,什麼是libffi?“FFI”的全名是Foreign Function Interface,通常指的是允許以一種語言編寫的程式碼呼叫另一種語言的程式碼。而Linffi庫只是提供了最底層的、與架構相關的、完整的“FFI”。
    安裝:
      Ubuntu、Debian: sudo apt-get install build-essential libssl-dev libffi-dev python3-dev 
          CentOS、RedHat:sudo yum install gcc libffi-devel python-devel openssl-devel 
  • ImportError: No module named 'cryptography '
    這是缺少加密的相關元件,利用pip安裝即可。
    sudo pip3 install cryptography
  • ImportError: No module named 'packaging 
    缺少packaging這個包,它提供了Python包的核心功能。利用pip安裝即可。
    sudo pip3 install packaging
  • ImportError: No module named 'appdirs' 
    缺少appdirs這個包,它用來確定檔案目錄,利用pip單獨安裝即可。
    sudo pip3 install appdirs