1. 程式人生 > >virtualenv簡介以及一個比較折騰的scrapy安裝方法

virtualenv簡介以及一個比較折騰的scrapy安裝方法

direct let figure 軟件包 免費 fig 構建 作者 ack

本文來自網易雲社區


作者:沈高峰

virtualenv + pip 安裝python軟件包是一種非常好的選擇,在大部分情況下安裝python軟件包是不需要求助於sa的。

使用自己的一個工作副本也是寫python的一個好習慣。

基本使用方式有下面幾步:

  • 1.先準備好virtualenv的環境

    mkdir ~/dev
    virturalenv ~/dev
  • 2.激活一下當前的virtualenv

    source ~/dev/bin/activate
  • 3.然後就可以用pip安裝軟件包了,所有軟件包都會安裝在當前virtualenv下

    pip install XXX

當需lib依賴的時候,上面的方法就不奏效了,比如,裝scrapy的時候,流程可以變成這樣了。

  1. pip install scrapy

  2. 提示 xmlversion.h No such file or directory

  3. google/bing/baidu 一通,原來是缺少libxml2-dev 包

  4. zaime上提交sa任務

  5. sa裝完 libxml2-dev

  6. 繼續pip install scrapy

  7. 提示 xslt-config: not found

  8. google/bing/baidu 一通,原來是缺少libxslt1-dev 包

  9. 提交sa任務

  10. 。。。

如何不找sa,安裝好這些庫呢,編譯用的工具鏈sa都裝好了。

virtualenv 生成的目錄~/dev結構跟 / 基本一樣,隨便想想,在 ./configure 的時候把 --prefix 設置成~/dev應該就可以了。

於是開始折騰

先設置好環境變量,讓gcc和ld能找到include 和lib 文件夾

export LD_LIBRARY_PATH=~/dev/lib
export C_INCLUDE_PATH=~/dev/include
export LIBRARY_PATH=~/dev/lib

其實,在激活virtualenv的時候,activate腳本已經修改了2個環境變量了,env一下就可以看到了

PATH=/home/shen/dev/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/gamesPS1=(dev)\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

scrapy依賴3個軟件包libxml2 libxslt libffi ,下載他們

wget  ftp://xmlsoft.org/libxml2/libxml2-2.9.2.tar.gzwget  ftp://xmlsoft.org/libxml2/libxslt-git-snapshot.tar.gzwget  ftp://sourceware.org/pub/libffi/libffi-3.2.tar.gz

依次解壓,cd到相應目錄下

./configure --prefix=~/dev && make && make install

有2個小坑,

  1. libxml2 默認把include文件夾放到 ~/dev/include/libxml2 下,移動目錄或者修改環境變量export C_INCLUDE_PATH=~/dev/include/libxml2:$C_INCLUDE_PATH

  2. libffi 把 include 文件夾放到 ~/dev/lib/libffi-3.2/include 下,解決方法跟上面一樣

之後就可以pip install scrapy了

好吧,折騰完了,發現好像也沒啥收獲。

其實,不想折騰也簡單,提交一個sa任務,安裝3個包就可以了。

再偷懶一點,直接安裝python-scrapy 就可以了,最新的debian stable 下的scrapy已經是 0.24.2 了,不算太舊。不過貌似很多機器sa還沒升級到最新的stable版本。

其實和配置個交叉編譯環境或者裝LFS有些類似,比那個更簡單一些。


網易雲免費體驗館,0成本體驗20+款雲產品!

更多網易研發、產品、運營經驗分享請訪問網易雲社區。


相關文章:
【推薦】 數據分析怎麽更直觀?十分鐘構建數據看板
【推薦】 中秋福利 | 10本技術圖書(編程語言、數據分析等)免費送

virtualenv簡介以及一個比較折騰的scrapy安裝方法