Wenn ich den folgenden Befehl ausführe:
sudo pip install python-ldap
Ich erhalte diesen Fehler:
In der von Modules / LDAPObject.c enthaltenen Datei: 9:
Module / error.h: 8: Schwerwiegender Fehler: lber.h: Keine solche Datei oder kein solches Verzeichnis
Irgendwelche Ideen, wie man das behebt?
usr/bin/
Verzeichnis und bemerkte,pip, pip-2.7, pip-3.6, and pip-python
dass ich es getan hattesudo pip-3.6 install ldap3
und es für mich funktionierte.Antworten:
Die Python-LDAP basiert auf OpenLDAP, daher benötigen Sie die Entwicklungsdateien (Header), um das Python-Modul zu kompilieren. Wenn Sie unter Ubuntu arbeiten, wird das Paket aufgerufen
libldap2-dev
.Debian / Ubuntu :
RedHat / CentOS :
quelle
-dev
Pakete (manchmal auch benannt-devel
). Tunapt-cache search sasl | grep dev
Sie es einfach und Sie werden wahrscheinlich das richtige Paket finden - ich würde es vermutenlibsasl2-dev
.Um python-ldap erfolgreich mit pip zu installieren, sind folgende Entwicklungsbibliotheken erforderlich (Paketnamen aus der Ubuntu-Umgebung):
quelle
sudo pip install python-ldap
Unter CentOS / RHEL 6 müssen Sie Folgendes installieren:
und yum wird auch
cyrus-sasl-devel
als Abhängigkeit installiert . Dann können Sie ausführen:quelle
In Ubuntu sieht es so aus:
quelle
Windows: Ich stimme der akzeptierten Antwort voll und ganz zu, aber es dauerte eine Weile, bis ich die Kommentare durchgesehen hatte. Ich bin auf dieses spezielle Problem mit Reviewboard unter Windows mit Bitnami gestoßen. Um dann eine Antwort für Windows zu geben, habe ich diesen in den Kommentaren erwähnten Link verwendet:
Führen Sie dann die folgenden Befehle aus
(weil ich Python 2.7 und eine 32-Bit-Installation hatte)
quelle
"Software nicht blind entfernen / installieren"
In einer Ubuntu / Debian-basierten Distribution können Sie
apt-file
den Namen des genauen Pakets ermitteln, das die fehlende Header-Datei enthält.Wie Sie der Ausgabe von
apt-file search lber.h
entnehmen können, müssen Sie nur das Paket installierenlibldap2-dev
.quelle
Für diejenigen, die das gleiche Problem haben, dass Iber.h unter Alpine Linux fehlt, in einem Docker-Image, das Sie beispielsweise an Alpine anpassen möchten.
Das Paket, das Sie suchen, ist: openldap-dev
Also renn
apk add openldap-dev
Verfügbar ab Version 3.3 bis Edge
Verfügbar für armhf- und x86_64-Architekturen.
quelle
Unter OpenSuse müssen Sie die Pakete installieren
openldap2-devel
,cyrus-sasl-devel
,python-devel
undlibopenssl-devel
.zypper install openldap2-devel cyrus-sasl-devel python-devel libopenssl-devel
quelle
Auf Fedora 22 müssen Sie stattdessen Folgendes tun:
quelle
Unter OSX benötigen Sie die xcode CLI-Tools. Öffnen Sie einfach ein Terminal und führen Sie Folgendes aus:
quelle
Für die meisten Systeme werden die Build-Anforderungen jetzt in der Dokumentation von python-ldap im Abschnitt "Installieren" erwähnt.
Wenn etwas für Ihr System fehlt (oder Ihr System vollständig fehlt), informieren Sie bitte den Betreuer! (Ab 2018 bin ich der Betreuer, daher sollte ein Kommentar hier ausreichen. Oder Sie können eine Pull-Anfrage oder eine Mail senden.)
quelle
python3 unterstützt python-ldap nicht. Lieber ldap3 installieren.
quelle
So beheben Sie den Fehler aufgrund von Abhängigkeiten bei der Installation von python-ldap: Windows 7/10
Laden Sie die whl-Datei herunter
http://www.lfd.uci.edu/~gohlke/pythonlibs/#python-ldap .
Python 3.6 Anzug mit
Stellen Sie die Datei bereit in:
installiere es mit
quelle
In FreeBSD 11:
quelle
Als allgemeine Lösung zur Installation von Python-Paketen mit binären Abhängigkeiten [1] unter Debian / Ubuntu:
Sie müssen den Namen Ihres Python-Pakets unter Ubuntu überprüfen Vergleich zu PyPI überprüfen. In diesem Fall sind sie gleich.
Funktioniert offensichtlich nicht, wenn sich das Python-Paket nicht in den Ubuntu-Repos befindet.
[1] Ich habe diesen Trick gelernt, als ich unter
pip install matplotlib
Ubuntu versucht habe .quelle
Für alpine Hafenarbeiter
Wenn die Python-Version 3 und höher ist, versuchen Sie es
quelle
Wenn Sie mit Windows-Computern arbeiten, finden Sie unter diesem Link das Rad 'python-ldap' und können es dann installieren
quelle
für diejenigen, die alphine linux verwenden, apk add openldap-dev
quelle
quelle