Seite 1 von 1

cElementTree benutzen

Verfasst: Freitag 30. März 2007, 11:52
von ws
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

Verfasst: Freitag 30. März 2007, 12:30
von BlackJack
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?

Verfasst: Freitag 30. März 2007, 12:43
von ws
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

Verfasst: Freitag 30. März 2007, 12:50
von Zap
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.

Problem hat sich erledigt - danke

Verfasst: Freitag 30. März 2007, 12:52
von ws
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