我在Ubuntu 11上使用easy_install安装lxml有困难。

当我输入$ 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.

似乎没有安装libxslt或libxml2。我试着按照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.27和2.6.29两个版本,没有什么不同。

不遗余力,我已经成功地完成了sudo apt-get安装libxml2-dev,但这没有改变什么。


当前回答

我在Vagrant中使用pip安装了lxml,使用Ubuntu 14.04,遇到了同样的问题。即使安装了所有的要求,我得到了同样的错误一次又一次。结果,我的虚拟机默认内存很小。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

为我工作。

这里的很多答案都很古老, 感谢@Simplans (https://stackoverflow.com/a/37759871/417747)和主页的指针…

对我有用的(Ubuntu仿生):

sudo apt-get install python3-lxml  

我在它之前安装了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

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

sudo apt-get install python-lxml

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

pip install lxml