Seite 1 von 1

Modul (xml.etree) mal gefunden, mal nicht?

Verfasst: Dienstag 20. Mai 2008, 17:33
von ichen
Hi
ich bin grade dabei mich in Python einzuarbeiten und bin gerade auf etwas gestoßen, was mich doch sehr verwundert. Ich versuche das etree.ElementTree-Modul einzubinden. In der Datei steht folgendes:

Code: Alles auswählen

# file /home/my_name/Python/xml.py
import xml.etree.ElementTree
Wen ich das über die Python-shell (python /home/my_name/Python/xml.py) oder IDLE (F5) starte bekomme ich einen Fehler, dass das Modul nicht gefunden wurde.
Sobald ich aber direkt in der Python-Shell oder IDLE den Befehl gebe

Code: Alles auswählen

$python import xml.etree.ElementTree
bekomme ich keinen Fehler.
Interesant ist auch, dass wenn in der Datei nur steht:

Code: Alles auswählen

# file /home/my_name/Python/xml.py
import xml
Bekomme ich auch beim Programmstart über die Shell/IDLE keinen fehler, er findet da also das Modul 'xml', aber die Untermodule (s.o.) nicht.
Woran kann das liegen?
Das Modul ist auch korrekt installiert (usr/lib/python2.5/xml/etree/ElementTree.py) und in der sys.path steht 'usr/lib/python2.5' mit drin, müsste also das Modul eigentlich auch finden.
Warum funktioniert der Import aus dem Programm heraus nicht? Wo ist der Fehler?
danke
Chris
ps: OS ist Ubuntu (Hardy), python 2.5.2

Verfasst: Dienstag 20. Mai 2008, 17:40
von mitsuhiko
Wenn deine Datei xml.py heißt versucht sie sich selber zu importieren (mit from xml. ... import).

Verfasst: Dienstag 20. Mai 2008, 18:21
von ichen
Hi
da hab ich wohl den Wald vor lauter Bäumen nicht gesehen :wink:. Ist ja logisch, wenn python das Modul erst im Ordner des Programms sucht, findet er xml.py. Die untermodule existieren aber nicht in dem Ordner.
Danke.
Chris