我遇到了libxml2
python模块的问题。
我正在尝试使用以下命令在 python3 virtualenv 上安装它:
pip install libxml2-python3
但它显示以下错误:
Collecting libxml2-python3 Using cached
https://files.pythonhosted.org/packages/41/97/a2ecf6c5b291799dbd40b3d041d89b0ecdb1b43c8c2503e27991325851cd/libxml2-python3-2.9.5.tar.gz
Complete output from command python setup.py egg_info:
failed to find headers for libxml2: update includes_dir
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in
/tmp/pip-install-72u9ke0y/libxml2-python3/
我尝试了以下链接中提供的解决方案,但对我没有任何作用:
https://github.com/GoogleCloudPlatform/google-cloud-python/issues/3884
"pip install unroll": "python setup.py egg_info" failed with error code 1
How to install libxml2 in virtualenv?
我在fedora 27 os上工作
答案 0 :(得分:2)
它安装了lxml,实际上你可能想使用lxml而不是libxml2,因为lxml基于libxml2更加pythonic:
sudo pip install lxml
libxml2页面说:
请注意,一些Python纯粹主义者不喜欢默认的Python绑定集,而不是抱怨我建议他们看看lxml更多pythonic绑定libxml2和libxslt并检查邮件列表。
lxml页面说:
lxml XML工具包是C库libxml2和libxslt的Pythonic绑定。它的独特之处在于它将这些库的速度和XML特性完整性与本机Python API的简单性相结合,大多数兼容但优于众所周知的ElementTree API。最新版本适用于2.6到3.6的所有CPython版本。有关lxml项目的背景和目标的更多信息,请参阅简介。常见问题解答中回答了一些常见问题。
答案 1 :(得分:1)
如果我没弄错的话,你需要libxml2开发文件。 尝试运行
yum install libxml2-devel
然后再次运行pip安装
答案 2 :(得分:0)
是的,在尝试更新lmxl
pip程序包后,我遇到了相同的错误。问题是 lxml 依赖于libmxl2
和libxslt
开发库。因此,您需要确保先安装它们。
# pip3 show lxml
Name: lxml
Version: 4.2.5
Summary: Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
Home-page: http://lxml.de/
Author: lxml dev team
Author-email: lxml-dev@lxml.de
License: BSD
Location: /usr/lib/python3.6/site-packages
Requires:
Required-by: Scrapy, parsel, [etc etc]
因此,按照以下步骤安装软件包:
apt-get install libxml2-devel libxslt-devel
(以及他们依次依赖的任何东西。)
答案 3 :(得分:0)
我遇到了类似的情况,我的Linux是Windows 10(WSL - Windows Subsystem for Linux)上的Ubuntu
我为解决该问题所做的事情是:
me@WSL:~/$ sudo apt-get update
me@WSL:~/$ sudo apt install python3 python3-pip libxml2 libxml2-dev
me@WSL:~/$ pip3 install libxml2-python3