1. 程式人生 > >Python-- lxml安裝

Python-- lxml安裝

       無論是使用爬蟲框架scrapy,還是簡單的requests請求後解析。都不可避免的需要使用html解析庫。當然正則是可以代替一部分搜尋。由於正則語法的晦澀,及其其他場景下,html解析是必不可少的。網上推薦 lxml的比較多,優點:穩定,高效。

       但是lxml的安裝很難一次成功。

直接成功就不要接著看了。

pip install lxml 

在windows系統中安裝時,可能會出現如下錯誤:

提示如下:

error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27

需要安裝Microsoft Visual C++ 9.0,對應的是visual studio 2008版本。其實我們可以用一種更簡單的方式來解決這個問題。

(1)首先升級下pip:

python -m pip install -U pip

(2)安裝wheel

pip install wheel

(3)下載lxml對應python版本的wheel檔案:下載地址(現在好像不能用了,可以根據你相應的Python去網上下載一個,這裡我只有一個py37的,連結https://pan.baidu.com/s/1uGvrI12phytodE3diadxzg密碼kd2h) 

 

其中cp27表示版本就是Python2.7,最後執行安裝: 

  1. 下載相應版本的lxml-xx-xx-xx .whl檔案,比如我的是lxml‑3.7.3‑cp37‑cp37m‑win_amd64.whl
  2. 進到whl檔案的目錄下,進入命令視窗,輸入相應*.whl檔名,我的輸入如下:
pip install  lxml‑3.7.3‑cp37‑cp37m‑win_amd64.whl

如果沒有錯誤提示就代表安裝成功。 


下面是一些不知道的問題,可以不用看。 

通常提示缺少libxml2,這是系統自帶的版本太低。需要升級libxml2

ubuntu 下 
apt-get install libxml2-dev libxslt-dev python-dev

centos 下 
yum install libxml2-dev libxslt-dev python-dev

如果這樣還不行,可以下載原始碼,本地編譯。

如果遇到這樣的問題 

error: command 'gcc' failed with exit status 1

可能是因為環境:搬瓦工的256M記憶體,因為記憶體不夠,每次便宜呼叫gcc 就被系統幹掉,而且版瓦工採用的OpenVZ架構,除非重新換機房,否則不能新增臨時swap.

方法一:找一個環境相同的系統,將lxml編譯成一個wheel,拷貝過去安裝。

這個法不行,手頭沒有這樣的環境。

方法二:直接粗暴的吧本地的lxml這個在site-packet資料夾下的包copy過去了。