0

我创建了一个使用lxml.
在 setup.py 我定义了:

packages=find_packages(),  # Required
python_requires='>=3.8, <4',
install_requires=[
    'typer[all]',
    'packaging',
    'lxml'
]

测试、打包和部署工作得很好。
但是,在将包上传到我公司的 PyPi 存储库后,我尝试使用以下命令安装包:

pip install -i <mypypirepo> <mypackage>

我收到一个很长的错误,包括:

fatal error C1083: Cannot open include file: 'libxml/xpath.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit code 2
    *********************************************************************************
    Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
    *********************************************************************************
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\python39\python.exe'

在尝试手动安装时,lxml我得到了同样的错误。

我在 stackoverflow 上找到了有关手动下载兼容wheel版本lxml然后使用pip.
但是,它lxml是最终用户应该很容易安装的软件包的一部分。

有什么方法可以在不强制用户手动安装的情况下解决问题lxml

注意:此问题仅在将 python 从 3.8 升级到 3.9 后才开始发生。

4

1 回答 1

0

截至 2020 年 10 月 12 日撰写本文时,PyPI 上没有适用于 python 3.9 的 lxml 轮。

如果像我一样使用窗户,这里有非官方的轮子:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

于 2020-10-12T23:27:12.640 回答