如何在Ubuntu上安装lxml

454 投票
12 回答
296812 浏览
提问于 2025-04-16 20:26

我在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.

看起来 libxsltlibxml2 没有安装。我试着按照这个网站的说明去做 http://www.techsww.com/tutorials/libraries/libxslt/installation/installing_libxslt_on_ubuntu_linux.phphttp://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,但这也没有改变什么。

12 个回答

46

正如@Pepijn在@Druska的回答中提到的,在ubuntu 13.04 x64系统上,其实不需要使用lib32z1-dev,zlib1g-dev就足够了:

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

我在编译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
968

既然你在用Ubuntu,那就别去折腾那些源代码包了。直接用apt-get安装开发包就行。

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

不过,如果你对lxml的旧版本也能接受的话,可以试试

apt-get install python-lxml

这样就可以搞定了。:)

撰写回答