今天想要試試beautifulsoup4,安裝的時候很順利,然后就准備安裝lxml作為解析器,沒想到安裝時pip直接給我報了一整頁的錯誤。
解決過程
查看了一下錯誤提示,其中有如下一段:
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************
於是我手動安裝這個庫,結果發現實際上已經安裝過了,那么為什么還會提示這個問題呢?於是我又回去看輸出的提示,找到了這兩行:
ERROR: b'/bin/sh: 1: xslt-config: not found\n' ** make sure the development packages of libxml2 and libxslt are installed **
- 1
- 2
- 1
- 2
原來要安裝dev包啊。輸入sudo apt-get install libxml2-dev libxslt1-dev
,應該搞定了吧?
事實證明我高興太得早了,雖然不再報這個錯了,但是lxml的安裝還是失敗了。無奈,只能繼續看錯誤提示。找到了這么一個錯誤提示:
src/lxml/lxml.etree.c:82:20: fatal error: Python.h: 沒有那個文件或目錄
- 1
- 1
查了一下,這是python-dev
中提供的一個頭文件,所以需要安裝python-dev
(我用的是Python3,所以裝了python3-dev
)。用apt安裝一下,然后再用pip install lxml
,沒想到依舊報錯不能安裝orz。這次錯誤換了一個:
/usr/bin/ld: cannot find -lz
- 1
- 1
stackoverflow上對於這個問題提供的方法是安裝zlib1g-dev
,用apt-get安裝后,再次嘗試編裝lxml,終於編譯安裝成功。
總結
實際上用一條命令吧所需的幾個dev包裝上就能搞定了。
sudo apt-get install python-dev python3-dev libxml2-dev libxslt1-dev zlib1g-dev
- 1
- 1
后來發現Stackoverflow上的已經有人問了這個問題。
轉http://blog.csdn.net/lincifer/article/details/51296559