2010-10-04 61 views

回答

3

libxml2是一個C庫,不是Python包,所以你不能使用Pip來安裝它。通常它已經安裝在幾乎所有Linux發行版中。如果您需要安裝它,它只是

sudo apt-get install libxml2

如果由於某種原因,你絕對需要有一個本地安裝,您將需要獲取並安裝.deb軟件包或RPM。除非你可以下載源代碼並構建它。

如果您在使用通用副本但不想在您的路徑中存在/ usr/local /,那麼只需將它符號鏈接到您的virtualenv中即可。

你可以找到更多信息(可能比你想要的)在http://xmlsoft.org/

Scrapy其列在他們的要求:

  • 的Python 2.5或以上
  • 扭曲2.5.0或以上
  • libxml2 2.6.28或更高版本(包括Python出價)
  • pyopenssl - 僅當您要抓取安全(HTTPS)頁面時
+1

很確定OP是指稱爲「libxml2」的Python包,即「import libxml2」而不是C庫(python包裹)。 – 2013-12-18 12:58:06

1

另外,如果你在windows上,正如我懷疑你的問題,你需要得到libxml2二進制文件 - scrapy網站上有鏈接,截至2010年11月,已經編譯了一個版本將與所有內容協同工作 - 或者獲得scrapy的當前trunk/dev版本,該版本可與lxml2一起使用。對於virtualenv,由於我不確定如何設置一個額外的二進制文件,後一種方法可能是最好的。我採用了後一種方法,迄今爲止,它對我來說完美無瑕。感謝Scrapy的超級有用創造者Pablo Hoffman(當我在Scrapy的郵件列表上發佈了一個類似於這個問題的問題時,他幾乎在第二天發佈了這個變更)。注意:在python 2.7下工作的libxml2二進制文件當時還沒有提供。

2

之前安裝LXML(在Debian):

apt-get install libxml2-dev libxslt1-dev pythonX.X-dev -y 

哪裏pythonX.Xpython2.7python2.6或其他針刺Python版本。

安裝後的系統包:

workon %environment_name% 
pip install lxml --upgrade 
+0

我不得不使用'libxslt-dev'而不是'libxslt1-dev' Ubuntu 12.04 Python 2.7.3 – anglinb 2014-12-18 21:06:08

2

我剛剛來到這個問題,與Ubuntu 14.04內核。

我已經使用pip安裝了lxml。

當我嘗試pip install lxml --upgrade的virtualenv中裏面,它總是給我

x86_64-gnu-gcc exit 1

我解決了這個使用sudo apt-get install libssl-dev