Vor kurzem habe ich ein paar Stunden damit verbracht, meine Haare (oder was davon übrig ist) zu zerreißen, indem ich versuche, python-ldap (via pip) auf einem Redhat Enterprise Server zu installieren.
Hier ist die Fehlermeldung, die ich bekommen würde (vertraut?):
Modules/constants.c:365: error: ‘LDAP_CONTROL_RELAX’ undeclared (first use in this function)
error: command 'gcc' failed with exit status 1
Wenn da nur jemand da wäre, der mir helfen könnte!
Aber warte! Ich kann dir helfen, weil ich es nach viel Fluchen herausgefunden habe!
Gemäß den Dokumenten müssen auf Ihrem System OpenLDAP-Bibliotheken installiert sein. Zu dem Zeitpunkt, als ich die Versionsanforderung für die Bibliotheken schrieb, war & gt; = 2.4.11
Um zu sehen, ob solche Bibliotheken auf Ihrem System installiert sind oder nicht, führen Sie folgenden Befehl aus: yum list installed openldap*
Hier ist die Ausgabe von meinem System als ein Beispiel für was Sie sehen könnten:
%Vor%In meinem Fall waren die Bibliotheken bereits installiert. Wenn Sie nicht nur Folgendes ausführen:
%Vor%Wenn die Pakete bereits installiert sind und pip immer noch fehlschlägt, sucht das Skript setup.cfg möglicherweise an den falschen Stellen nach den erforderlichen Bibliotheksdateien. Also, lasst uns herausfinden, wo Sie existieren auf unserem System.
Mach das:
%Vor%Und Sie sollten so etwas bekommen (ich habe das abgekürzt, damit wir die beteiligten Verzeichnisse leichter sehen können).
%Vor%build
-Verzeichnis innerhalb des Basisverzeichnisses des Python-Interpreters hinterlassen (an derselben Stelle wie / bin, / include, / lib und / man. build
-Verzeichnis sollten Sie 'python-ldap / setup.cfg' finden. Sie sollten dies am Anfang der Datei sehen:
%Vor%Offensichtlich ist das falsch. Fügen Sie die Verzeichnisse, die Sie in Schritt 2 gefunden haben, vor der derzeit aufgelisteten Verzeichnisse an, so dass Sie etwa folgendes erhalten:
%Vor% Nach dem Speichern der Datei können Sie einfach pip install python-ldap
erneut ausführen. Der Installationsprozess wird Ihr Update setup.cfg betrachten und sollte ohne weitere Probleme installiert werden.
Eine Alternative zu Schritt 3 in eikonomegas Antwort :
%Vor%dann:
%Vor%Sie müssen die setup.cfg nicht knacken!
Tags und Links python python-ldap redhat