Hallo,
ich benutze Python 2.5.4 mit Windows Vista. Bisher hatte ich keine Probleme, Beispielscripts auszuführen. Wenn ich aber versuche, den XML-Parser "minidom" mittels der Anweisung
from xml.dom.minidom import *
zu laden, erhalte ich die Fehlermeldung
"ImportError: No module named dom.minidom"
Mittlerweile habe ich ohne Erfolg alle Variationen des Befehls ausprobiert und auch die sys.path Variable modifiziert. Es hat den Anschein, als würden Module in Unterverzeichnissen nicht gesucht / gefunden.
Es wäre schön, wenn mir jemand helfen könnte.
Problem beim import von xml.dom.minidom
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Die Fehlermeldung passt nicht zur Anweisung!
Zudem sind * import generell eher schlecht.
Als letztes: Muss es denn minidom sein? Wieso nicht die ElementTree-API, ggf. sogar mit dem hervorragenden lxml-Modul?
Zudem sind * import generell eher schlecht.
Als letztes: Muss es denn minidom sein? Wieso nicht die ElementTree-API, ggf. sogar mit dem hervorragenden lxml-Modul?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich meinte folgendes:isbn345 hat geschrieben:Danke für die prompte Antwort. Es muss durchaus nicht "minidoom" sein. Ich habe lediglich versucht, ein Beispiel aus einem Buch nachzuvollziehen.
Code: Alles auswählen
In [3]: from foo.bar import *
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/home/nelson/<ipython console> in <module>()
ImportError: No module named foo.bar
Das kann natürlich immer sein. Wie hast Du es denn installiert?Könnte es sein, dass mit der Installation etwas nicht stimmt ?
Zumdem: Die aktuelle Version von Python 2.x ist die 2.6.5. Ich würde mal das "alte" Python deinstallieren und das aktuelle aufspielen - ganz unabhängig von der obigen Meldung.
Die aktuelle Version 2.6.5 verhält leider ganz genauso.
Ausführlich:
from xml.dom import minidoom
Meldung:
Traceback (most recent call last):
File "C:\Users\isbn345\Documents\Python\xml.py", line 1, in <module>
from xml.dom import minidoom
File "C:\Users\isbn345\Documents\Python\xml.py", line 1, in <module>
from xml.dom import minidoom
ImportError: No module named dom
Installiert habe ich gemäß der Anleitung auf python.org mit Administratorrechten.
LXML habe ich jetzt auch installiert. Das auf der Internetseite enthaltene Script
try:
from lxml import etree
print("running with lxml.etree")
except ImportError:
try:
# Python 2.5
import xml.etree.cElementTree as etree
print("running with cElementTree on Python 2.5+")
except ImportError:
try:
# Python 2.5
import xml.etree.ElementTree as etree
print("running with ElementTree on Python 2.5+")
except ImportError:
try:
# normal cElementTree install
import cElementTree as etree
print("running with cElementTree")
except ImportError:
try:
# normal ElementTree install
import elementtree.ElementTree as etree
print("running with ElementTree")
except ImportError:
print("Failed to import ElementTree from any known place")
liefert die die Fehlermeldung "Failed to import ElementTree from any known place".
Was stimmt nicht ???
Ausführlich:
from xml.dom import minidoom
Meldung:
Traceback (most recent call last):
File "C:\Users\isbn345\Documents\Python\xml.py", line 1, in <module>
from xml.dom import minidoom
File "C:\Users\isbn345\Documents\Python\xml.py", line 1, in <module>
from xml.dom import minidoom
ImportError: No module named dom
Installiert habe ich gemäß der Anleitung auf python.org mit Administratorrechten.
LXML habe ich jetzt auch installiert. Das auf der Internetseite enthaltene Script
try:
from lxml import etree
print("running with lxml.etree")
except ImportError:
try:
# Python 2.5
import xml.etree.cElementTree as etree
print("running with cElementTree on Python 2.5+")
except ImportError:
try:
# Python 2.5
import xml.etree.ElementTree as etree
print("running with ElementTree on Python 2.5+")
except ImportError:
try:
# normal cElementTree install
import cElementTree as etree
print("running with cElementTree")
except ImportError:
try:
# normal ElementTree install
import elementtree.ElementTree as etree
print("running with ElementTree")
except ImportError:
print("Failed to import ElementTree from any known place")
liefert die die Fehlermeldung "Failed to import ElementTree from any known place".
Was stimmt nicht ???
@lunar: Halt ohne Blut und mit Teletubbies als Endboss
@isbn345: Versuchs mal mit einem 'o' weniger
DOM steht für Document Object Model und im Falle von minidom für eine Leichtgewichtversion in Python. Seit der Erfindung der ElementTree-API gelten allerdings die anderen XML-Parser-APIs als altbacken und sind nur noch selten mit Mehrwert einzusetzen (Deine Beispiele sind wohl etwas älter). Die ElementTree-API findest Du unter xml.etree.ElementTree, xml.etree.cElementTree (als schnellere C Variante) oder in Drittpaketen wie lxml, wobei lxml für größere Sachen durchaus empfehlenswert ist, da es neben dem Geschwindigkeitsvorteil auch noch weitere nette Sachen wie XSLT und XPATH mitbringt.
@isbn345: Versuchs mal mit einem 'o' weniger
DOM steht für Document Object Model und im Falle von minidom für eine Leichtgewichtversion in Python. Seit der Erfindung der ElementTree-API gelten allerdings die anderen XML-Parser-APIs als altbacken und sind nur noch selten mit Mehrwert einzusetzen (Deine Beispiele sind wohl etwas älter). Die ElementTree-API findest Du unter xml.etree.ElementTree, xml.etree.cElementTree (als schnellere C Variante) oder in Drittpaketen wie lxml, wobei lxml für größere Sachen durchaus empfehlenswert ist, da es neben dem Geschwindigkeitsvorteil auch noch weitere nette Sachen wie XSLT und XPATH mitbringt.