2010-03-24 7 views
6

Ich habe einen Fehler Attribute Python: ‚Modul‘ Objekt hat kein Attribut ‚initialisieren‘ ich Python bin mit 2.6.2 auf Solaris 10 UNIX und installierte vor kurzem der pythonldap 2.3.9. Das Skript ist sehr einfach, hat nur diese 2 Zeilen. Kann mir jemand sagen warum? Traceback-Fehler unten.Python ldap Attribute

#!/usr/local/bin/python 

import ldap, sys 

con = ldap.initialize('ldap://localhost') 

Traceback (jüngste Aufforderung zuletzt): File "./myldap.py", Linie 5, in con = ldap.initialize ('ldap: // localhost') Attribute: 'Modul' Objekt hat kein Attribut ‚initialisieren‘

Grüße, Jenny

+0

Die bevorzugte Shebang-Zeile für Python ist '!/Usr/local/env python', die was auch immer" python "in der Befehlszeile ausführen würde. –

Antwort

22

Haben Sie eine Datei im aktuellen Verzeichnis ldap.py nennen, die man Abschattungen, die Sie wollen?

+0

Beeindruckend. Schnelle und hilfreiche Antworten in weniger als 2 Minuten! Ja, ich habe tatsächlich, ich habe diese Datei jetzt umbenannt und einen weiteren Fehler bekommen. Traceback (jüngste Aufforderung zuletzt): File "./myldap.py", Zeile 3, in Import ldap File „/usr/local/lib/python2.6/site-packages/ldap/__init__. py ", Zeile 22, in aus _ldap import * ImportError: ld.so.1: python: fatal: libsasl2.so.2: Öffnen fehlgeschlagen: Keine solche Datei oder Verzeichnis – jenny

+0

Bingo! Überprüfen Sie die Installation Ihres LDAP-Moduls. Scheint es kann horked sein. Und willkommen in SO !! – jathanism

+0

Es sieht so aus, als hätten Sie Probleme mit dem C-Modul, das 'ldap' aufrufen muss. Welches Betriebssystem verwenden Sie? Wie hast du python-ldap installiert? –

2

Ein einfacher Weg zu sagen, ob ldap importiert werden soll, ist der richtige, ldap.__file__ zu drucken, der den vollständigen Pfad zu der Moduldatei (normalerweise ein '.pyc') druckt. Wenn es nicht das ist, das an dem Ort installiert ist, den Sie erwarten, ist dies Ihr Problem, wie Mike Graham vorgeschlagen.

+0

Ich machte diesen Fehler und diese Antwort hat mir geholfen, zu entdecken, dass sogar ich mein 'ldap.py' zu etwas anderem umbenannt hatte, dort war noch ein' ldap.pyc' im Ordner. – Xabs

2

Sie können diesen Fehler erhalten, wenn Sie irgendwie "ldap.py" von sos/plugins/anstelle des ldap-Pakets selbst abholen. Stellen Sie sicher, dass das "python-ldap" -Paket tatsächlich installiert ist ...

2

Viele Leute geben viel kompliziertere Lösungen ... Einfach ausgedrückt, die Pip-Installation des ldap-Moduls funktioniert nicht. Sie müssen das Paket python-ldap von apt oder yum installieren.

+0

das scheint der Fall zu sein. – user455318