Я создал пакет Python, который использует 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.
libxml2
. Это не то же самое, что пакет PyPI; lxml ожидает, что вы установите библиотеку вручную. - person Marat   schedule 09.10.2020