通过 pip 安装 lxml 时出现“在库 libxml2 中找不到函数 xmlCheckVersion。libxml2 安装了吗?”
- 2025-03-19 08:57:00
- admin 原创
- 56
问题描述:
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
尝试通过 pip 安装 lxml 时出现错误。
c:/usersappdatalocal empxmlXPathInitqjzysz.c(1) : fatal error C1083: Cannot open include file: 'libxml/xpath.h': No such file or directory
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************
error: command 'C:\\Users\\f\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2
我没有找到任何可以通过 pip 安装的 libxml2 dev 包。
在 Windows 10 下的虚拟环境中在 x86 上使用 Python 2.7 和 Python 3.x。
解决方案 1:
从http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml安装适合您的 Python 版本的 lxml。它是带有所需模块/依赖项的预编译 WHL。
该网站列出了几个软件包,例如当使用 Win32 Python 3.11 时,使用lxml‑4.9.0‑cp311‑cp311‑win32.whl
。
下载文件,然后安装:
pip install C:path odownloadedilelxml‑4.9.0‑cp311‑cp311‑win32.whl
解决方案 2:
我遇到了这个问题,并意识到虽然我安装了 libxml2,但我没有 python 包所需的必要开发库。安装它们解决了这个问题:
sudo apt-get install libxml2-dev libxslt1-dev
sudo pip install lxml
解决方案 3:
尝试使用:
easy_install lxml
这对我有用,win10,python 2.7。
解决方案 4:
在 Mac OS X El Capitan 上,我必须运行这两个命令来修复此错误:
xcode-select --install
pip install lxml
最终安装了 lxml-3.5.0
当您运行 xcode-select 命令时,您可能必须签署 EULA(因此,如果您在无头机器上执行此操作,请为 UI 准备一个 X-Term)。
解决方案 5:
如果其他人有同样的问题
Centos,尝试:
yum install python-lxml
Ubuntu
sudo apt-get install -y python-lxml
对我有用。
解决方案 6:
set STATICBUILD=true && pip install lxml
运行此命令,必须先安装 VS C++ 编译器
https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/
它适用于 Python 3.5.2 和 Windows 7
解决方案 7:
由于某种原因,它在 python 3.11 中不起作用,但 3.10 可以起作用。
在 Windows 上,要安装以前版本的模块,请使用
py -3.10 -m pip install lxml
如果你想将它安装在 venv 中,那么使用
py -3.10 -m venv .venv
.venv/Scripts/pip.exe install lxml
如果你已经设置了 venv,那么你就可以使用
pip install lxml
您还需要运行该版本的 Python 程序。如果您设置了 venv,则无需执行此操作。
py -3.10 file.py
解决方案 8:
我尝试安装依赖的库lxml
,但没有任何效果。构建开始时我看到一条消息:“不使用 Cython 构建”,因此在安装后cython
,apt-get install cython
已lxml
安装。
解决方案 9:
我遇到了这个问题并意识到虽然我确实安装了 libxml2,但我没有 python 包所需的必要开发库。
1)安装它们解决了问题:
下载文件的网站:下载
2)安装文件后,将其保存在可访问的文件夹中
pip install *path to that file*
解决方案 10:
上述解决方案均未出现,这对我来说并不奇怪,但我看到 igd 安装如何删除新版本并安装旧版本,对于该解决方案,我下载了这个档案:https://pypi.org/project/igd/#files
并将setup.py中的推荐版本更改为新版本:'lxml==4.3.0' 有效!
解决方案 11:
我在 32 位 Python 中遇到了同样的错误。安装 64 位后,问题得到解决。
解决方案 12:
在 MacOS Big Sur 上,我xcode-select --install
按照建议运行,安装了 XCode,重新启动了 Mac,但在安装时仍然出现同样的错误lxml
。
有帮助的是重置 XCode 路径:
sudo xcode-select --reset
之后,lxml
安装成功。
解决方案 13:
在GitHub项目发布页面下载提供的编译好的WHL https://github.com/lxml/lxml/releases
使用 pip 命令安装
python -m pip install --upgrade path/to/lxml.whl
解决方案 14:
当我处理python:3.9-alpine
Docker 镜像时,我使用此构建过程在针对多个架构进行编译时安装构建依赖项。lxml
软件包位于requirements.txt
文件中。
RUN apk add libxslt libxml2 libxslt-dev libxml2-dev gcc libc-dev \n && echo "cython < 4.0" > constraints.txt \n && export PIP_CONSTRAINT=constraints.txt \n && pip install --upgrade --no-cache-dir pip \n && pip install --upgrade --no-cache-dir -r requirements.txt \n && apk del libxslt-dev libxml2-dev gcc libc-dev
来源
注意:我不确定要卸载什么。
解决方案 15:
我正在使用venv
。
lxml==4.6.3
就我的情况来说,添加就足够了requirements.txt
。
一个库需要早期版本,这导致了这个错误,所以当我强制 pip 使用最新版本(当前为 4.6.3)时,安装成功。
扫码咨询,免费领取项目管理大礼包!