1. 程式人生 > >Python中lxml模組的安裝

Python中lxml模組的安裝

lxml是Python中與XML及HTML相關功能中最豐富和最容易使用的庫。lxml並不是Python自帶的包,而是為libxml2和libxslt庫的一個Python化的繫結。它與眾不同的地方是它兼顧了這些庫的速度和功能完整性,以及純Python API的簡潔性,與大家熟知的ElementTree API相容但比之更優越!但安裝lxml卻又有點麻煩,因為存在依賴,直接安裝的話用easy_install, pip都不能成功,會報gcc錯誤。下面列出來Windows、Linux下面的安裝方法:

Windows系統

先確保Python已經安裝好,環境變數也配置好了,相應的的easy_install、pip也安裝好了.

1. 執行 pip install virtualenv

C:\>pip install virtualenv
Requirement already satisfied (use --upgrade to upgrade): virtualenv in c:\python27\lib\site-package
s\virtualenv-12.0.4-py2.7.egg
2. 從官方網站下載與系統,Python版本匹配的lxml檔案

NOTE:

比如說我的電腦是Python 2.7.4, 64位作業系統,那麼我就可以下載

lxml-2.3-py2.7-win-amd64.egg (md5)     # Python Egg
或
lxml-2.3.win-amd64-py2.7.exe (md5)     # MS Windows installer

3. 執行 easy_install lxml-2.3-py2.7-win-amd64.egg

D:\Downloads>easy_install lxml-2.3-py2.7-win-amd64.egg    # 進入該檔案所在目錄執行該命令
Processing lxml-2.3-py2.7-win-amd64.egg
creating c:\python27\lib\site-packages\lxml-2.3-py2.7-win-amd64.egg
Extracting lxml-2.3-py2.7-win-amd64.egg to c:\python27\lib\site-packages
Adding lxml 2.3 to easy-install.pth file


Installed c:\python27\lib\site-packages\lxml-2.3-py2.7-win-amd64.egg
Processing dependencies for lxml==2.3
Finished processing dependencies for lxml==2.3

NOTE:

1. 可用exe可執行檔案,方法更簡單直接安裝就可以

2. 可用easy_install安裝方式,也可以用pip的方式

#再執行下,就安裝成功了!
>>> import lxml   
>>> 
3. 如用pip安裝,常用命令就是:
  • pip install simplejson                      # 安裝Python包
  • pip install --upgrade simplejson          # 升級Python包
  • pip uninstall simplejson                    # 解除安裝Python包

4. 如用Eclipse+Pydev的開發方式,需要移除舊包,重新載入一次

  • Window --> Preferences --> PyDev --> Interperter-python   # 否則導包的時候會報錯
Linux系統

因為lxml依賴的包如下:

libxml2, libxml2-devel, libxlst, libxlst-devel, python-libxml2, python-libxslt

所以安裝步驟如下:

第一步: 安裝 libxml2

  • $ sudo apt-get install libxml2 libxml2-dev  
第二步: 安裝 libxslt
  • $ sudo apt-get install libxlst libxslt-dev 
第三步: 安裝 python-libxml2 和 python-libxslt
  • $ sudo apt-get install python-libxml2 python-libxslt
第四步: 安裝 lxml
  • $ sudo easy_install lxml

參考官方文件: