热门标签:
Q:

如何在Ubuntu上安装lxml

我在Ubuntu11上使用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/.

我已经尝试了libxml2libxml2libxml2两个版本,没有区别。

千方百计,我已经成功地完成了sudo apt-get install libxml2-dev,但这并没有改变什么。

原网址
A:

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

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

如果你对lxml的旧版本感到满意,你可以试试

apt-get install python-lxml

然后就结束了。 :)

所有回答

共 10 条

author avatar

我还必须在lxml编译之前安装lib32z1-dev(Ubuntu13.04x64)。

sudo apt-get install lib32z1-dev

或所有需要的包一起:

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

正如@Pepijn评论@Druska的答案,在ubuntu13.04x64上,没有必要使用lib32z1-dev,zlib1g-dev就足够了:

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

我在Vagrant中使用pip安装了lxml,使用Ubuntu14.04并且遇到了同样的问题。 即使安装了所有要求,我一次又一次地得到了相同的错误。 原来,我的VM不得不在默认情况下很少的内存。 随着1024MB一切正常。

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

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

感谢sixhobbit的提示(请参阅:无法在Ubuntu12.04上安装lxml)。

author avatar

步骤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包管理工具。 并运行此命令。

pip install lxml

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

author avatar

对于Ubuntu14.04

sudo apt-get install python-lxml

为我工作。

author avatar

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

apt-get install python-dev
author avatar

对于Ubuntu12.04.3LTS(精确穿山甲)我不得不做:

apt-get install libxml2-dev libxslt1-dev

(注意libxslt1-dev中的"1")

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

author avatar

从Ubuntu18.4(仿生海狸),建议使用apt而不是apt-get,因为它具有更好的结构形式。

sudo apt install libxml2-dev libxslt1-dev python-dev

如果你对可能更老的lxml版本感到满意,你可以试试

sudo apt install python-lxml
author avatar

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

sudo apt-get install python-lxml

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

pip install lxml
author avatar

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

什么对我有用(Ubuntu仿生):

sudo apt-get install python3-lxml  

(+sudo apt-get install libxml2-dev libxslt1-dev我在它之前安装,但不确定这是否仍然是要求)

相似问题