Seite 1 von 3

Fehlermeldungen bei py2exe

Verfasst: Donnerstag 28. Juli 2005, 13:16
von Toni83
Servus,

Ich habe wieder ein Problem mit py2exe.
Und zwar erstellt er mir die *.exe ohne Probleme, aber sobald ich es öffne bekomme ich sofort die Fehlermeldung:

"D:\Python23\dist\CAD.exe.log" could not be opened: an integer is required

Danach bricht das Programm ab.
Hab jetzt im Forum auch nichts passendes zu dieser Problematik gefunden.

Gruss,
Toni

Verfasst: Donnerstag 28. Juli 2005, 16:34
von rogen
wie sieht dein programm aus ?

Verfasst: Donnerstag 28. Juli 2005, 18:43
von Toni83
Servus rogen,

Glaube nicht das es so gut wäre das Programm hier aufzuführen, da es über 7000 Zeilen lang ist.
Ich habe aber sowohl eine graphische Oberfläche mit wxPython erstellt, als auch andere externe Module importiert.
Liste der Module:

Code: Alles auswählen

from Tkinter import *	
import string			
import math		
import EasyDialogs		
from Tkconstants import *
import os
import sys			
import wx
from time import*		
import tkMessageBox     	
from wxPython.wx import *
Liegt es vielleicht an ein Modul das py2exe nicht kennt, o.ä.?

Gruss,
Toni

Edit (Leonidas): Imports in Python-Tags gestellt.

Verfasst: Donnerstag 28. Juli 2005, 21:52
von rogen
cad.exe ist die startdatei ?

Verfasst: Freitag 29. Juli 2005, 07:26
von Gast
CAD.exe ist die Startdatei die py2exe im dist Ordner erstellt.

Gruss,
Toni

Verfasst: Freitag 29. Juli 2005, 08:08
von Black Dragon
ist die .log datei nicht die wo die fehlermeldungen reinkommen wenn eine fehler im programm existiert?
wenn das aber so ist wozu will er die dann öffnen?
erscheint mir unlogisch. vielleicht erstellst du die.log datei manuell dann is eine da. und wenn du vom programm aus die.log aufrufst dann sende mal den codeschnipsel wo du die aufrufst.

sonst: andere py2exe version probieren.

gruß
black dragon

Verfasst: Freitag 29. Juli 2005, 08:48
von Toni83
Ich habe aber überhaupt keine .log Datei im dist Ordner.
Liegt es vielleicht daran? Aus meinem Programm heraus rufe ich sie auch nicht auf.
Wie erstelle ich diese .log Datei? Was muss in ihr stehen, dass ich mein Programm als .exe zum laufen kriege?

Gruss,
Toni

Verfasst: Freitag 29. Juli 2005, 09:03
von Black Dragon
die .log datei wird auch erst erstellt nachdem du .exe zum ersten mal gestartet hast. in der werden dann wie in der console oder pythonwin oder worin du halt programmierst deine fehler angezeigt. eigentlich muss da also garnix drinne stehen und sie wird auch nicht am anfang erstellt. sry aber ich hatte noch nie so ein problem.

kann dir nur sagen was ich machen würde. weiß net genau ob die .log datei ne einfache textdatei ist. wenn ja einfach erstellen. wenn nein schreib ein anderes programm schreib absichtlich fehler rein mach mit py2exe zur .exe starte es und nenn dann die .log datei um. oder es ist dann das selbe problem. dann weißt du das es nicht mit deinem programm was du geschrieben hast zu tun hat. sondern an der version von python bzw. py2exe oder vielleicht auch eines deiner anderen module.

viel glück beim testen :)
black dragon

Verfasst: Freitag 29. Juli 2005, 09:27
von Toni83
Gute Idee!
Habe jetzt ein kleines neues Programm erstellt und absichtlich einen Fehler eingebaut. Habe daraus mit py2exe eine .exe daraus gemacht. Jetzt gibt er mir aber nicht denselben Fehler aus. Heißt also es muss an einem der importierten Module oder ähnliches liegen. Weiss jemand etwas darüber, dass py2exe bestimmte sitepackages nicht verträgt?
Was bedeutet eigentlich bei meiner ersten Fehlermeldung: "an integer is required"?

Danke im Voraus,

Toni

Verfasst: Freitag 29. Juli 2005, 10:13
von querdenker
Es gibt im Forum schon einige Threads zu dem Thema py2exe, ebenso findet man über Google einiges an Dokumentation.

Desweiteren würde es helfen, wenn du mal deine setup.py und dein Fehleroutput komplett zur Verfügung stellts!

Wir sitzen alle nur vor Computern, nicht vor Glaskugeln!

mfg, querdenker

Verfasst: Freitag 29. Juli 2005, 10:22
von Toni83
Ich sitze ja schon die ganze Zeit davor und will dieses Problem lösen.
Ich google mir hier schon den Wolf.
Habe aber bisher noch nichts nützliches zu meiner Problematik gefunden.

Meine setup.py:

Code: Alles auswählen

from distutils.core import setup 
import py2exe 

setup (windows = ["CAD.py"]) 

Was in der Fehlerdatei CAD.exe.log steht kann ich eben nicht sagen, da diese ja bei mir nicht vorhanden ist wenn ich sie starte lediglich steht beim Start dran:

"D:\Python23\dist\CAD.exe.log" could not be opened: an integer is required

, was auch immer das heißen mag. Nach drücken von OK bricht das Programm plötzlich ab.

Ich hoffe Ihr könnt mit den Angaben was anfangen,

Toni

Edit (Leonidas): Code in Python-Tags gesetzt.

Verfasst: Freitag 29. Juli 2005, 11:15
von Black Dragon
probier doch einfach mal andere versionen py2exe oder den anderen modulen! oder bau einzelne module in neue programme, mach die zur exe und schau ob die funzen. brauchst ja bloß jeweils eine anweisung sein. glaube zwar net das es daran liegt, aber wer weiß. am wahrscheinlichsten halte ich das py2exe für fehlerhaft.
nebenbei die setup.py is richtig.

musst du schon selber ausprobieren. da hat querdenker schon recht wenn er meint das wir keine glaskugeln haben(also jedenfalls net alle von uns)

:twisted:
gruß
black dragon

Verfasst: Freitag 29. Juli 2005, 12:09
von Gast
Wo finde ich den andere Versionen von py2exe?
Überall, unter anderem auch bei sourceforge.net, findet sich immer nur eine Version: py2exe 0.5.4
Ich werde mal jedes Modul einzeln testen und versuchen wenn es daran nicht liegt die Version zu tauschen falls ich eine andere finde.
Wenn jemand trotzdem noch was zu dem Beitrag weiß, kann er an dieser Stelle gerne antworten. Ich bin für jede Antwort dankbar, da meine jetzt zu vollziehenden Testläufe ziemlich umfangreich sind.

So mal ne Frage nebenbei: Gibt es auch einen anderen .exe-Maker für Python?

Gruss,
Toni

Verfasst: Freitag 29. Juli 2005, 14:01
von Leonidas
Anonymous hat geschrieben:Wo finde ich den andere Versionen von py2exe?
Überall, unter anderem auch bei sourceforge.net, findet sich immer nur eine Version: py2exe 0.5.4
Bei mir nicht.

Warum nimmst du aber nicht erstmal eine py2exe 0.5-kompatible setup.py? Das Format hat sich gegenüber 0.4 verbessert, die funktionalität auch!

Code: Alles auswählen

from distutils.core import setup
import py2exe

setup(
    name = "CAD",
    description = "Some program",
    version = "1.0.0",
    windows = [
        {"script": "cad.py"}
    ]
)
Anonymous hat geschrieben:So mal ne Frage nebenbei: Gibt es auch einen anderen .exe-Maker für Python?
FAQ: Ich suche einen Python-Compiler.

Verfasst: Freitag 29. Juli 2005, 14:33
von Toni83
Sorry,
hab nicht nach unten gescrollt, da gibt es natürlich eine Menge anderer Versionen.
Habe jetzt die setup.py modifiziert.
Eigentliches Problem leider noch nicht behoben, aber danke für den Tip mit der setup.py, wäre selber kaum draufgekommen.

Gruss,
Toni

Verfasst: Freitag 29. Juli 2005, 15:08
von Leonidas
Warum importierst du so viele GUI-Toolkits? Du importierst wxPython sogar zweimal! Vielleicht solltest du das erstmal korrigieren?

Verfasst: Freitag 29. Juli 2005, 19:00
von Gast
Danke für den Hinweis!

hab es nicht gesehen. Habe es inzwischen korrigiert.
Es funktioniert leider aber immer noch nicht.

Verfasst: Freitag 29. Juli 2005, 19:50
von Leonidas
Anonymous hat geschrieben:Habe es inzwischen korrigiert.
Inwiefern? Keine * Imports mehr genutzt?

Verfasst: Samstag 30. Juli 2005, 14:55
von Toni83
Habe

from wxPython.wx import *

herausgenommen.

Gruss,
Toni

Verfasst: Sonntag 31. Juli 2005, 11:27
von querdenker
Schau dir mal diesen oder diesen Thread an. Da wird einiges über imports innerhalb der setup.py oder der Setup.cfg erklärt.

Desweiteren: Warum importierst du teile aus dem TK-Bereich, wenn du wx benutzen willlst?

Und du meinst die Frage
Toni83 hat geschrieben:Was bedeutet eigentlich bei meiner ersten Fehlermeldung: "an integer is required"?
eigentlich ernst?

mfg, querdenker