Abrufen “Funktion xmlCheckVersion konnte in der Bibliothek libxml2 nicht gefunden werden. Ist libxml2 installiert? " bei der Installation von lxml über pip

102

Ich erhalte eine Fehlermeldung, Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?wenn ich versuche, lxml über pip zu installieren.

  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

Ich finde keine libxml2-Entwicklungspakete, die über pip installiert werden könnten.

Verwenden von Python 2.7 und Python 3.x unter x86 in einer virtuellen Umgebung unter Windows 10.

SaeX
quelle

Antworten:

157

Ich hatte dieses Problem und stellte fest, dass ich zwar libxml2 installiert hatte, aber nicht die erforderlichen Entwicklungsbibliotheken hatte, die für das Python-Paket erforderlich waren. Die Installation löste das Problem:

sudo apt-get install libxml2-dev libxslt1-dev
sudo pip install lxml
praktisch
quelle
23
Bitte lesen Sie den Inhalt des OP durch. Er macht das auf einem Windows-Computer!
Metahuman
2
Richtige Lösung für Linux bei Verwendung von pip
Goranek
3
Fedora 23: dnf install libxml2-devel unddnf install libxslt-devel
SergO
@Metahuman Die Installation der gleichen Pakete mit dem Cygwin-Installationsprogramm löst das Problem für mich unter Windows 10.
Tag
2
Centos 7 : sudo yum install libxml2-devel libxslt-devel(erforderlich für Python-Docx-Modul)
Marc Maxmeister
108

Installieren Sie lxml von http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml für Ihre Python-Version. Es ist eine vorkompilierte WHL mit den erforderlichen Modulen / Abhängigkeiten.

Die Site listet mehrere Pakete auf, wenn Sie zB Win32 Python 3.9 verwenden lxml‑4.5.2‑cp39‑cp39‑win32.whl.

Laden Sie die Datei herunter und installieren Sie sie mit:

pip install C:\path\to\downloaded\file\lxml4.5.2cp39cp39win32.whl
SaeX
quelle
4
@ user151496 - yum install libxml2-devel libxslt-devel hat dies für mich getan. stackoverflow.com/questions/26884514/…
Trent
6
Die bisher beste Antwort für Windows.
Leonel Sanches da Silva
2
Sie können auch mit diesem allgemeineren Befehl installieren: pip install --use-rad --find-links = C: \ Pfad \ zu \ Ordner \ mit \ Rad lxml
rleelr
1
Dieser Link hat mir oft den Arsch gerettet :-) Weil da viele Räder drin sind.
m3nda
1
Tolle Hilfe. Eine weitere kleine Sache, die ich tun musste: Es konnte nicht auf meiner virtuellen Umgebung installiert werden (Rad wird nicht unterstützt). Schließlich habe ich es auf meinem regulären Python installiert (c: \ Programme x86 ...) und die python27\lib\site-packages\lxml*Ordner in die virtuelle Umgebung kopiert .
Reformy
35

Versuchen Sie zu verwenden:
easy_install lxml
Das funktioniert bei mir, win10, Python 2.7.

Zing Lee
quelle
5
es wirft den gleichen Fehler aus, wenn der einfache Installationsbefehl für lxml
Piyush
1
Früher für mich gearbeitet, aber jetzt mit einer neuen lxml-Version funktioniert das nicht mehr.
SaeX
23

Unter Mac OS X El Capitan musste ich diese beiden Befehle ausführen, um diesen Fehler zu beheben:

xcode-select --install
pip install lxml

Am Ende wurde lxml-3.5.0 installiert

Wenn Sie den Befehl xcode-select ausführen, müssen Sie möglicherweise eine EULA signieren (halten Sie also einen X-Term für die Benutzeroberfläche bereit, wenn Sie dies auf einem kopflosen Computer tun).

Jason D.
quelle
2
Ja, das ist der Trick für mich in OS X El Capitan. In der Tat, wenn Sie den Bildschirm nach oben scrollen, um die Grundursache des Fehlers zu sehen, gibt es eine Zeile mit der Aufschrift "Vielleicht versuchen: xcode-select --install"
Devy
Dies hat es behoben, und es gibt eine Zeile, die dies vorschlägt, wie oben kommentiert!
5.
1
Hat jemand das Gefühl, schon einmal gelaufen zu sein xcode-select --install? Gibt es eine Selbstbeobachtung darüber, was dies entweder ein erstes oder ein zweites Mal tut? Als Hinweis, obwohl ich nicht lxmlglobal installieren musste, damit es in einer virtuellen Umgebung funktioniert, gibt es das zumindest.
lol
21

Für den Fall, dass jemand anderes das gleiche Problem hat wie dieses

Centos, versuchen Sie:

yum install python-lxml

Ubuntu

sudo apt-get install -y python-lxml

arbeitete für mich.

J1MF0X
quelle
1

Ich habe versucht, eine Bibliothek zu installieren, die davon abhängt lxmlund nichts funktioniert. Ich sehe eine Nachricht , wenn Build gestartet wurde: „Bauen ohne Cython“, so nach der Installation cythonmit apt-get install cython, lxmlinstalliert wurde.

gabrieloliveira
quelle
1

Es ist für mich nicht seltsam, dass keine der oben genannten Lösungen gefunden wurde, aber ich habe gesehen, wie die igd-Installation die neue Version entfernt und die alte installiert hat. Für die Lösung habe ich dieses Archiv heruntergeladen: https://pypi.org/project/ igd / # Dateien

und änderte die empfohlene Version der neuen Version: 'lxml == 4.3.0' in setup.py Es funktioniert!

Ivan Minakov
quelle
0

Ich habe den gleichen Fehler für Python 32 Bit. Nach der Installation von 64bit wurde das Problem behoben.

Nishara MJ
quelle