cElementTree benutzen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ws
User
Beiträge: 65
Registriert: Freitag 16. Juni 2006, 13:19

Freitag 30. März 2007, 11:52

Hallo,

habe mir von
http://effbot.org/downloads/#celementtree

für Python 2.2 cElementTree-1.0.2-20050302.zip runtergeladen und es mit

Code: Alles auswählen

python setup.py install 
installiert. Der Installer hat mir eine Datei cElementTree.pyd erstellt und in einem Verzeichnis ...\Lib\site-packages abgelegt. Ich habe dann Python gestartet, den Pfad zu cElementTree.pyd mit sys.path.append(<Pfad>) hinzugefügt und

Code: Alles auswählen

import cElementTree
aufgerufen, ich kriege dann die Meldung

Code: Alles auswählen

ImportError: No module named cElementTree
Welche Informationen benötigt Python, um eine .pyd-Datei benutzen zu können? Muss ausser der Erweiterung von sys.path noch irgendetwas getan werden? Muss es vielleicht ein gleichnamiges Python-Modul cElementTree.py geben oder so was?

Vielen Dank im Voraus

Wolfgang
BlackJack

Freitag 30. März 2007, 12:30

Wieso hast Du etwas an `sys.path` geändert? Das Modul sollte von `setup.py` schon an eine Stelle installiert worden sein, die importiert werden kann.

Ist Python 2.2 das einzige Python auf dem System bzw. ist es das Python was Du mit `python` aufrufst?
ws
User
Beiträge: 65
Registriert: Freitag 16. Juni 2006, 13:19

Freitag 30. März 2007, 12:43

Hallo BlackJack,

ich habe mehrere Python's installiert. Ich habe setup.py aber mit dem vollen Pfad (...\bin\python setup.py install) aufgerufen und dasselbe Python dann mit demselben Pfad aus der Kommandozeile gestartet. Da das Modul nicht gefunden wurde, habe ich den Pfad nochmal explizit erweitert. Ich habe jetzt aber nochmal geguckt, Du hast Recht, der Pfad zu der .pyd-Datei war auch vorher schon in sys.path. Nichtsdestotrotz kriege ich die erwähnte Meldung.

Gruss

Wolfgang
Zap
User
Beiträge: 533
Registriert: Freitag 13. Oktober 2006, 10:56

Freitag 30. März 2007, 12:50

Kontrolliere doch einfach
sys.prefix und sys.path
Oder poste sie hier.

Normalerweise ist "site-packages" immer in sys.path enthalten, da ist schon was nicht richtig.
Zuletzt geändert von Zap am Freitag 30. März 2007, 12:53, insgesamt 1-mal geändert.
ws
User
Beiträge: 65
Registriert: Freitag 16. Juni 2006, 13:19

Freitag 30. März 2007, 12:52

Hallo,

bin gerade darauf gekommen, dass der Schuldige in diesem Fall unsere Runtime-Umgebung ist, die bei Debug-Builds auch die Namen von zu ladenden Libraries usw. umbiegt, so dass

Code: Alles auswählen

import cElementTree
dazu führt, dass versucht wird, cElementTree_d.pyd statt cElementTree.pyd zu laden.

Der Fehler lag also bei mir, tut mir leid, dass ich Euch da bemüht habe.

Vielen Dank nochmal

Wolfgang
Antworten