2010-10-04 76 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