Seite 1 von 1

py2exe Problem

Verfasst: Sonntag 27. Januar 2008, 11:05
von martin101986
Hallo,

ich habe ein Kontaktprogramm geschrieben. Als grafische Oberfläche verwende ich wxPython und um die Daten zu speichern eine SQLite Datenbank mittels sqlalchemy.

Ich wollte nun einen exe mittels py2exe erstellen und dabei sind folgende Probleme aufgetreten:

1) Beim erstellen der exe schreibt er hin dass er folgendes Modul vermisst: sqlalchemy.ansisql

Ich hab das Verzeichnis von sqlalchemy durchgeschaut und konnte dieses modul nicht finden

2) Beim erstellen fügt er in den Dist Ordner nicht die die MSVCP71.dll aus den wx Verzeichnis hinzu. Ich habe diese nachträglich in den Ordner kopiert, wie kann ich erreichen dass er diese gleich beim erstellen hinzugibt?

3)Beim Ausführen legt er dann eine Log Datei an mit folgenden Inhalt:

Code: Alles auswählen

Traceback (most recent call last):
  File "contactmanager.py", line 19, in <module>
  File "contactfunctions.pyc", line 5, in <module>
  File "sqlalchemy\__init__.pyc", line 8, in <module>
  File "sqlalchemy\types.pyc", line 28, in <module>
  File "sqlalchemy\util.pyc", line 10, in <module>
  File "sqlalchemy\logging.pyc", line 32, in <module>
ImportError: No module named logging
Diese Datei liegt aber im Dist Ordner? Wie kann ich dieses Problem beheben? Hat das was mit dem ersten Punkt zu tun?

Danke für eure Hilfe schon mal im voraus,
Grüße
Martin

Verfasst: Sonntag 27. Januar 2008, 15:01
von veers
Py2exe packt die Module in die library.zip es reicht *afaik* nicht diese einfach in einen Ordner zu packen. Hast du dir schon einmal das Wiki von Py2exe angesehen?
http://www.py2exe.org/index.cgi/Working ... AndModules
http://www.py2exe.org/index.cgi/GeneralTipsAndTricks

Verfasst: Sonntag 27. Januar 2008, 19:10
von martin101986
Danke für den Hinweis, hab ich mir angesehen. Ich bin in der zwischenzeit draufgekommen was der Fehler war.

Ich habe anhand des ausgegebenen Logs im Logging.py im sqlalchemy Verzeichnis nachgeschaut. Da ruft er mit __import__ das Logging Modul auf. Beim erstellen der exe hat er das nicht mit reingenommen.

Hab das im setup.py extra angegeben und jetzt funktioniert das Programm.