virtualenv簡介以及一個比較折騰的scrapy安裝方法
本文來自網易雲社區
作者:沈高峰
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的時候,流程可以變成這樣了。
pip install scrapy
提示 xmlversion.h No such file or directory
google/bing/baidu 一通,原來是缺少libxml2-dev 包
zaime上提交sa任務
sa裝完 libxml2-dev
繼續pip install scrapy
提示 xslt-config: not found
google/bing/baidu 一通,原來是缺少libxslt1-dev 包
提交sa任務
。。。
如何不找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個小坑,
libxml2 默認把include文件夾放到 ~/dev/include/libxml2 下,移動目錄或者修改環境變量export C_INCLUDE_PATH=~/dev/include/libxml2:$C_INCLUDE_PATH
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安裝方法