在python中安装lxml模块

use*_*101 79 python lxml python-import

在运行python脚本时,我遇到了这个错误

  from lxml import etree
ImportError: No module named lxml
Run Code Online (Sandbox Code Playgroud)

现在我尝试安装lxml

sudo easy_install lmxl
Run Code Online (Sandbox Code Playgroud)

但它给了我以下错误

Building lxml version 2.3.beta1.
NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available.
ERROR: /bin/sh: xslt-config: not found

** make sure the development packages of libxml2 and libxslt are installed **
Run Code Online (Sandbox Code Playgroud)

使用libxslt的构建配置

src/lxml/lxml.etree.c:4: fatal error: Python.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

use*_*312 102

做就是了:

sudo apt-get install python-lxml
Run Code Online (Sandbox Code Playgroud)

如果您打算从源代码安装,那么albertov的回答将有所帮助.但除非有原因,否则,只需从存储库中安装它.

  • 如果您使用的是虚拟环境,则这不是正确的答案. (5认同)
  • 对于 venv,只需升级 lxml pip install --upgrade lxml (2认同)

小智 55

我解决了升级lxml版本的问题:

pip install --upgrade lxml
Run Code Online (Sandbox Code Playgroud)


alb*_*tov 49

你需要安装Python的头文件(debian/ubuntu中的python-dev包)来编译lxml.与libxml2,libxslt,libxml2-dev和libxslt-dev一样:

apt-get install python-dev libxml2 libxml2-dev libxslt-dev
Run Code Online (Sandbox Code Playgroud)

  • 和libxml2-dev和libxslt-dev. (2认同)

小智 23

如果您正在运行python3,则必须执行以下操作:

pip3 install lxml


Kri*_*dey 5

对于 RHEL/CentOS,运行“python --version”命令来查找 Python 版本。例如下面:

$ python --version 
  Python 2.7.12
Run Code Online (Sandbox Code Playgroud)

现在运行“sudo yum search lxml”来找出 python*-lxml 包。

$ sudo yum search lxml
Failed to set locale, defaulting to C
Loaded plugins: priorities, update-motd, upgrade-helper
1014 packages excluded due to repository priority protections
============================================================================================================= N/S matched: lxml =============================================================================================================
python26-lxml-docs.noarch : Documentation for python-lxml
python27-lxml-docs.noarch : Documentation for python-lxml
python26-lxml.x86_64 : ElementTree-like Python bindings for libxml2 and libxslt
python27-lxml.x86_64 : ElementTree-like Python bindings for libxml2 and libxslt
Run Code Online (Sandbox Code Playgroud)

现在您可以根据您的 Python 版本选择包并运行如下命令:

$ sudo yum install python27-lxml.x86_64
Run Code Online (Sandbox Code Playgroud)


Mac*_*rte 5

对于python 3,这对我有用

sudo apt-get install python3-lxml
Run Code Online (Sandbox Code Playgroud)