编译安装lxml 4.9.4时出现subprocess-exited-with-error错误求助
编译安装lxml 4.9.4时出现subprocess-exited-with-error错误求助
大家好,我在尝试编译安装lxml 4.9.4版本的时候碰到了subprocess-exited-with-error错误,编译过程直接失败了,折腾了好一阵都没解决,想请各位大佬帮忙看看问题出在哪!
以下是完整的错误输出(部分内容截断):
Building wheels for collected packages: lxml Building wheel for lxml (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for lxml (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [280 lines of output] <string>:67: UserWarning: pkg_resources is deprecated as an API. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. /usr/local/lib/python3.13/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() Building lxml version 4.9.4. Building without Cython. Building against libxml2 2.9.14 and libxslt 1.1.35 running bdist_wheel running build running build_py creating build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/usedoctest.py -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/sax.py -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/pyclasslookup.py -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/doctestcompare.py -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/cssselect.py -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/builder.py -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/_elementpath.py -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/__init__.py -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/ElementInclude.py -> build/lib.linux-x86_64-cpython-313/lxml creating build/lib.linux-x86_64-cpython-313/lxml/includes copying src/lxml/includes/__init__.py -> build/lib.linux-x86_64-cpython-313/lxml/includes creating build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/usedoctest.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/soupparser.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/html5parser.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/formfill.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/diff.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/defs.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/clean.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/builder.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/_setmixin.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/_html5builder.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/_diffcommand.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/__init__.py -> build/lib.linux-x86_64-cpython-313/lxml/html copying src/lxml/html/ElementSoup.py -> build/lib.linux-x86_64-cpython-313/lxml/html creating build/lib.linux-x86_64-cpython-313/lxml/isoschematron copying src/lxml/isoschematron/__init__.py -> build/lib.linux-x86_64-cpython-313/lxml/isoschematron copying src/lxml/etree.h -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/etree_api.h -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/lxml.etree.h -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/lxml.etree_api.h -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/objectify.pyx -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/etree.pyx -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/xsltext.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/xslt.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/xpath.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/xmlschema.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/xmlid.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/xmlerror.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/xinclude.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/serializer.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/schematron.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/saxparser.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/relaxng.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/readonlytree.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/public-api.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/proxy.pxi -> build/lib.linux-x86_64-cpython-313/lxml copying src/lxml/parsertarget.pxi -> ...
我尝试过的操作
目前只试过重新运行pip install lxml==4.9.4,但还是同样的错误,暂时没头绪。
可能的解决思路(供参考)
结合以往遇到的类似问题,给大家整理几个可能的修复方向:
- 安装系统依赖库:lxml编译需要依赖libxml2和libxslt的开发包,不同系统的安装命令如下:
- Debian/Ubuntu:
sudo apt-get install libxml2-dev libxslt-dev python3-dev - CentOS/RHEL:
sudo yum install libxml2-devel libxslt-devel python3-devel - macOS:
brew install libxml2 libxslt
- Debian/Ubuntu:
- 升级pip和setuptools:旧版本的打包工具可能存在兼容性问题,执行
pip install --upgrade pip setuptools后再尝试安装。 - 直接安装预编译wheel包:跳过编译步骤,直接下载现成的二进制包,命令是
pip install lxml==4.9.4 --only-binary :all: - 尝试更新lxml版本:你用的Python是3.13,而lxml 4.9.4发布时间较早,可能对Python3.13支持不足,可以试试安装最新稳定版的lxml:
pip install lxml --upgrade
如果有大佬知道更精准的解决方法,欢迎留言指教!
内容来源于stack exchange
相关产品推荐
相关产品推荐

