Получение "Не удалось найти функцию xmlCheckVersion в библиотеке libxml2. Установлена ли libxml2?" при установке lxml через pip
Я получаю ошибку Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
при попытке установить lxml через pip.
c:\users\f\appdata\local\temp\xmlXPathInitqjzysz.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
Я не нашел никаких пакетов libxml2 dev для установки через pip.
Использование Python 2.7.10 на x86 в virtualenv под Windows 10.
14 ответов
Установите lxml с http://www.lfd.uci.edu/~gohlke/pythonlibs/ для вашей версии Python. Это предварительно скомпилированный WHL с необходимыми модулями / зависимостями.
Сайт перечисляет несколько пакетов, например, при использовании Win32 Python 2.7 используйте lxml-3.6.1-cp27-cp27m-win32.whl
,
Загрузите файл, а затем установите с
pip install C:\path\to\downloaded\file\lxml-3.6.1-cp27-cp27m-win32.whl
У меня была эта проблема, и я понял, что, хотя у меня установлен libxml2, у меня не было необходимых библиотек разработки, необходимых для пакета python. Установка их решила проблему:
sudo apt-get install libxml2-dev libxslt1-dev
sudo pip install lxml
Попробуй использовать:easy_install lxml
Это работает для меня, win10, python 2.7.
В Mac OS X El Capitan мне пришлось выполнить эти две команды, чтобы исправить эту ошибку:
xcode-select --install
pip install lxml
Который закончил тем, что установил lxml-3.5.0
Когда вы запускаете команду xcode-select, вам, возможно, придется подписать лицензионное соглашение (так что X-Term удобен для пользовательского интерфейса, если вы делаете это на безголовом компьютере).
В случае, если у кого-то есть такая же проблема, как на
Centos, попробуйте:
yum install python-lxml
Ubuntu
sudo apt-get install -y python-lxml
работал на меня.
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
Я пытался установить библиотеку, которая зависит lxml
и ничего не работает. Когда начинается сборка, появляется сообщение: "Сборка без Cython", поэтому после установки cython
с apt-get install cython
, lxml
был установлен.
У меня была эта проблема, и я понял, что, хотя у меня был установлен libxml2, у меня не было необходимых библиотек разработки, необходимых для пакета python.
1) Их установка решила проблему:
Сайт для скачивания файла : Скачать
2) После установки сохраните файл в доступной папке.
pip install *path to that file*
По какой-то причине это не работает в 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
Для меня не странно, что ни одно из вышеперечисленных решений не подошло, но я видел, как установка igd удалила новую версию и установила старую, для решения я скачал этот архив: https://pypi.org/project/igd/
и изменил рекомендуемую версию новой версии: 'lxml==4.3.0' в setup.py Это работает!
На MacOS Big Sur я запустилxcode-select --install
как было предложено, установил XCode, перезапустил Mac, но при установке .
Что помогло, так это сброс пути XCode:
sudo xcode-select --reset
После этого,lxml
установлен успешно.
Загрузите скомпилированный WHL, представленный на странице выпуска проекта GitHub https://github.com/lxml/lxml/releases.
Они устанавливаются с помощью команды pip.
python -m pip install --upgrade path/to/lxml.whl
У меня такая же ошибка для 32-битного Python. После установки 64bit проблема была исправлена.
я использую
venv
.
В моем случае достаточно было добавить
lxml==4.6.3
к
requirements.txt
.
Одна библиотека хотела более раннюю версию, и это вызывало эту ошибку, поэтому, когда я заставил pip использовать новейшую версию (в настоящее время 4.6.3), установка прошла успешно.