1. 程式人生 > >Python安裝lxml(編譯安裝其依賴的庫)

Python安裝lxml(編譯安裝其依賴的庫)

轉自 :https://www.coder4.com/archives/3660

依賴說明:

lxml是libxml2、libxslt的PythonBinding,依賴於libxml2和libxslt。libxslt依賴於libxml2。

由於我們的程式可能要分發到別的機器執行,所以要提取出一個可獨立拷貝走的執行時環境,假設該目錄為/home/liheyuan/env

1、安裝libxml2

12345wget http://xmlsoft.org/sources/libxml2-2.9.0.tar.gztar-xzvf libxml2-2.9.0.tar.gz./configure--prefix=/home
/liheyuan/env--without-pythonmakemake install

2、安裝libxslt

1 2 3 4 wget http://xmlsoft.org/sources/libxslt-1.1.27.tar.gz ./configure--prefix=/home/liheyuan/env--without-crypto--without-python--with-libxml-prefix=/home/liheyuan/env/ make make install

3、安裝lxml

依賴的庫都搞定了,終於輪到Python的Binding了。

我們假設Python已經通過編譯安裝的方式,放到了同樣的目錄下:/home/liheyuan/env

1234567# 下載wget http://pypi.python.org/packages/source/l/lxml/lxml-3.0.1.tar.gz#md5=0f2b1a063ab3b6b0944cbc4a9a85dcfatar-xzvf lxml-3.0.1.tar.gzcd lxml-3.0.1# 解壓縮、編譯/home/liheyuan/env/bin/python./setup.py build--with-xslt-config=/home/liheyuan/env/bin/xslt-config/home/liheyuan/env/bin/python./setup.py install

最後看下效果:

1 2 3 4 5 6 /home/liheyuan/env/bin/python Python2.7.3(default,Oct222012,13:32:03) Type"help","copyright","credits"or"license"formore information. >>>import lxml >>>import lxml.html >>>報錯.....

錯誤提示,提示etree.so依賴錯誤!

由於so是我們自己build的,且不在系統預設環境變數路徑內,所以我們需要把path加到系統環境變數(so)路徑內,如下:

1 2 vim~/.bashrc export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/liheyuan/env/lib

下次重新登陸Terminal就可以了!