如何在Ubuntu上安装lxml

我在Ubuntu 11上安装easy_install lxml时遇到了困难。

当我input$ easy_install lxml我得到:

 Searching for lxml Reading http://pypi.python.org/simple/lxml/ Reading http://codespeak.net/lxml Best match: lxml 2.3 Downloading http://lxml.de/files/lxml-2.3.tgz Processing lxml-2.3.tgz Running lxml-2.3/setup.py -q bdist_egg --dist-dir /tmp/easy_install-7UdQOZ/lxml-2.3/egg-dist-tmp-GacQGy Building lxml version 2.3. Building without Cython. ERROR: /bin/sh: xslt-config: not found ** make sure the development packages of libxml2 and libxslt are installed ** Using build configuration of libxslt In file included from src/lxml/lxml.etree.c:227:0: src/lxml/etree_defs.h:9:31: fatal error: libxml/xmlversion.h: No such file or directory compilation terminated. 

看来libxsltlibxml2没有安装。 我试着按照http://www.techsww.com/tutorials/libraries/libxslt/installation/installing_libxslt_on_ubuntu_linux.php和http://www.techsww.com/tutorials/libraries/libxml/installation/installing_libxml_on_ubuntu_linux中的说明操作。 PHP没有成功。

如果我尝试wget ftp://xmlsoft.org/libxml2/libxml2-sources-2.6.27.tar.gz我得到

 <successful connection info> ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /libxml2 ... done. ==> SIZE libxml2-sources-2.6.27.tar.gz ... done. ==> PASV ... done. ==> RETR libxml2-sources-2.6.27.tar.gz ... No such file `libxml2-sources-2.6.27.tar.gz'. 

如果我先尝试其他的,那么我会去./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2 ,最终会失败:

 checking for libxml libraries >= 2.6.27... configure: error: Could not find libxml2 anywhere, check ftp://xmlsoft.org/. 

我已经尝试了libxml2版本2.6.272.6.29没有区别。

不遗余力,我已经成功地完成了sudo apt-get install libxml2-dev ,但是这并没有改变。

既然你在Ubuntu上,不要打扰那些源代码包。 只需使用apt-get来安装这些开发包。

 apt-get install libxml2-dev libxslt1-dev python-dev 

如果你对lxml的老版本感到满意,你可以尝试一下

 apt-get install python-lxml 

并完成它。 🙂

我还必须在lxml编译之前安装lib32z1-dev(Ubuntu 13.04 x64)。

 sudo apt-get install lib32z1-dev 

或所有必需的软件包一起:

 sudo apt-get install libxml2-dev libxslt-dev python-dev lib32z1-dev 

作为@Pepijn评论@Druska的答案,在Ubuntu 13.04 x64上,没有必要使用lib32z1-dev,zlib1g-dev就足够了:

 sudo apt-get install libxml2-dev libxslt-dev python-dev zlib1g-dev 

我使用Ubuntu 14.04在Vagrant中安装了lxml,并且遇到了同样的问题。 即使安装的所有要求,我一次又一次得到相同的错误。 原来,我的虚拟机在默认情况下只有很less的内存。 随着1024 MB的一切工作正常。

添加到你的VagrantFile和lxml应该正确编译/安装:

 config.vm.provider "virtualbox" do |vb| vb.memory = 1024 end 

感谢sixhobbit提示(请参阅: 无法在Ubuntu 12.04上安装lxml )。

对于Ubuntu 14.04

sudo apt-get install python-lxml

为我工作。

安装AKX提到的软件包后,我仍然有同样的问题。 解决了

 apt-get install python-dev 

对于Ubuntu 12.04.3 LTS(精确穿山甲)我必须这样做:

 apt-get install libxml2-dev libxslt1-dev 

(注意libxslt1-dev中的“1”)

然后我只是用pip / easy_install安装lxml。

步骤1

使用此命令安装最新的python更新。

sudo apt-get install python-dev

第2步

添加第一个依赖关系libxml2版本2.7.0或更高版本

sudo apt-get install libxml2-dev

第3步

添加第二个依赖关系libxslt版本1.1.23或更高版本

sudo apt-get install libxslt1-dev

步骤4

先安装pip包pipe理工具。 并运行这个命令。

pip install lxml

如果您有任何疑问,请点击这里

首先安装Ubuntu的python-lxml包及其依赖项:

 sudo apt-get install python-lxml 

然后使用pip升级到Python的最新版本lxml:

 pip install lxml