安装pip时出现错误,提示缺少'libxml/xmlversion.h'文件。

20
我需要安装Python包xmlsec(https://pypi.python.org/pypi/xmlsec),当我尝试运行时。
pip install xmlsec

它给了我这个错误:
src\xmlsec\constants.c(266) : fatal error C1083: Cannot open include file: 'libxml/xmlversion.h': No such file or directory

当我第一次调查这个错误时,我发现许多答案都与安装的lxml包有关。尝试过后:

pip install --upgrade lxml

无法升级,因此我卸载了lxml并重新安装,但出现了IO错误。最终,我从http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml下载了lxml文件,并将其放置在我的Python目录中,并像这个问题的答案一样进行了安装:Installing lxml, libxml2, libxslt on Windows 8.1
它成功上传,并在运行pip upgrade时显示已经是最新版本。
但是,仍然存在相同的错误,尝试安装xmlsec时会出现“libxml/xmlversion.h”丢失。有人知道还可能出现什么问题吗?
注意:我正在Windows上使用Python 2.7。

你能在你的电脑上搜索文件 xmlversion.h 吗?在我的 Ubuntu 上它位于 /usr/include/libxml2/libxml,但我猜你正在使用 Windows 8.1。 - rivu
如果你使用的是Windows系统,安装Python发行版而不是仅安装Python解释器是一个好主意。例如,Anaconda会负责安装所有lxml依赖项,因此您无需担心它。 - Daniel
1个回答

41

您可能需要安装 libxmllibxml-sec 的头文件。您没有说明运行的平台是哪个。如果您使用的是Ubuntu操作系统,则需要执行以下命令: sudo apt-get install libxml2-dev libxmlsec1-dev


我在使用Windows系统,你知道我该怎么做吗? - clue3434
我对Windows不是很了解。也许你可以在这里看看:https://www.aleksey.com/xmlsec/faq.html - Hans Then
25
在Alpine上,您可以执行以下操作: apk add libxml2-dev libxslt-dev 意思是安装libxml2-dev和libxslt-dev两个软件包。 - advance512

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接