如何在 Ubuntu 上安装 lxml
- 2025-02-28 08:23:00
- admin 原创
- 75
问题描述:
我在 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
没有安装。我尝试按照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.phplibxml2
上的说明进行操作,但没有成功。
如果我尝试,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/.
我已尝试过两个版本2.6.27
,没有任何区别2.6.29
。libxml2
我竭尽全力,成功做到了sudo apt-get install libxml2-dev
,但这并没有改变什么。
解决方案 1:
既然你使用的是 Ubuntu,就不必费心安装那些源包。只需使用 apt-get 安装那些开发包即可。
apt-get install libxml2-dev libxslt1-dev python-dev
如果你对 lxml 的旧版本很满意,你可以尝试
apt-get install python-lxml
并完成它。:)
解决方案 2:
在 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
解决方案 3:
正如 @Pepijn 对 @Druska 的回答所评论的,在 ubuntu 13.04 x64 上,不需要使用 lib32z1-dev,zlib1g-dev 就足够了:
sudo apt-get install libxml2-dev libxslt-dev python-dev zlib1g-dev
解决方案 4:
我使用 Ubuntu 14.04 在 Vagrant 中使用 pip 安装了 lxml,但遇到了同样的问题。尽管安装了所有必需的软件,但我还是一次又一次地遇到同样的错误。原来,我的虚拟机默认内存太少了。1024 MB 一切正常。
将其添加到您的 VagrantFile 并且 lxml 应该可以正确编译/安装:
config.vm.provider "virtualbox" do |vb|
vb.memory = 1024
end
感谢 sixhobbit 的提示(参见:无法在 Ubuntu 12.04 上安装 lxml)。
解决方案 5:
步骤 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
如果您有任何疑问请点击此处
解决方案 6:
对于 Ubuntu 14.04
sudo apt-get install python-lxml
对我有用。
解决方案 7:
安装 AKX 提到的软件包后,我仍然遇到同样的问题。使用以下方法解决了
apt-get install python-dev
解决方案 8:
对于 Ubuntu 12.04.3 LTS (Precise Pangolin),我必须执行以下操作:
apt-get install libxml2-dev libxslt1-dev
(请注意 libxslt1-dev 中的“1”)
然后我只需使用 pip/easy_install 即可安装 lxml。
解决方案 9:
从 Ubuntu 18.4(Bionic Beaver)开始,建议使用 apt 而不是 apt-get,因为它具有更好的结构形式。
sudo apt install libxml2-dev libxslt1-dev python-dev
如果你对可能较旧的版本感到满意lxml
,你可以尝试
sudo apt install python-lxml
解决方案 10:
这里的许多答案都相当老了,这要感谢@Simplans( https://stackoverflow.com/a/37759871/417747
)
的指引和主页......
对我有用的(Ubuntu bionic):
sudo apt-get install python3-lxml
(+sudo apt-get install libxml2-dev libxslt1-dev
我之前安装过,但不确定这是否仍然是要求)
解决方案 11:
首先安装 Ubuntu 的python-lxml
软件包及其依赖项:
sudo apt-get install python-lxml
然后使用pip
升级到 Python 的 lxml 的最新版本:
pip install lxml
解决方案 12:
您可以按照以下步骤在 Ubuntu 上安装 lxml:
在你的 Ubuntu 系统上打开终端。
通过运行以下命令来更新包列表:
sudo apt-get update
通过运行以下命令安装所需的依赖项:
sudo apt-get install libxml2-dev libxslt-dev python-dev
通过运行以下命令安装 lxml:
sudo pip install lxml
如果您尚未安装 pip,可以通过运行以下命令来安装:
sudo apt-get install python-pip
通过运行以下命令验证 lxml 是否已安装:
python -c "import lxml; print(lxml.__version__)"
这应该输出您刚刚安装的 lxml 的版本号。
就是这样!
扫码咨询,免费领取项目管理大礼包!