py to exe

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Gerhardus
User
Beiträge: 42
Registriert: Dienstag 31. Dezember 2013, 01:59

Hallo,
ich habe ein pythonprog mit Tkinter unter IDLE geschrieben, mir diversen mdb aufrufen, was fehlerlos läuft.
Jetzt wollte ich eine exe datei erstellen um es unter WIN10(64) verwenden zu können.
Cx_freze und pyinstaller, bzw auto-py-to-exe probiert leider erfolglos. Exe Dateien werden erstellt und beim Aufruf verabschieden sie sich sofort nach öffnen des cmd Fensters.
Bei Tests mit unk0omplizierten Miniprogs funktionierten sie. Habe Python 3.8 und überlege auf 3.x
downzugraden glaube aber selber nicht dass das die alleinige Fehlerquelle ist, sondern win10 schuld ist. Habe bemerkt das ich python 3.8.1 32 bit installiert habe. Spielt das eine Rolle?
So wie es jetzt ausschaut kann ich mein Programm nur unter Idle ausführen.
Kann mir jemand einen Rat geben? (py2exe probieren?)
Danke im Voraus
Gerhardus
Sirius3
User
Beiträge: 17745
Registriert: Sonntag 21. Oktober 2012, 17:20

Was ist denn die Fehlermeldung? Starte die exe mal in der Eingabeaufforderung (cmd-Fenster), damit sie sichtbar bleibt.
nezzcarth
User
Beiträge: 1634
Registriert: Samstag 16. April 2011, 12:47

Gerhardus hat geschrieben: Freitag 29. Mai 2020, 14:45 Jetzt wollte ich eine exe datei erstellen um es unter WIN10(64) verwenden zu können.
Ein Python-Programm muss keine exe sein, nur um unter Windows verwendet werden zu können (auch wenn sich diese Vorstellung irgendwie hartnäckig zu halten scheint). Diese Programme, die aus Python Code exe/PE Files bauen, erstellen Bundles aus dem Interpreter und dem Code, und sind als Erleichterung zu sehen.
Gerhardus
User
Beiträge: 42
Registriert: Dienstag 31. Dezember 2013, 01:59

Unter der Koimmando zeile kann ich nur python programme ohne GUI aufrufen.

ich weiss nicht ob ich bei cx_freeze setup.py alle im Programm angeführten importe hie nochmals angeben muss.
bei mir aktuell (os,sys,pypyodbc, datetime, time ,tkinter, pandas, numpy).
in meiner setup setup steht unten angeführtes Statement, mit dem ich leider nicht viel anfangen kann.

# GUI applications require a different base on Windows (the default is for a
# console application).

Es kommen keine Fehlermeldungen da die exe abbricht. Bei einigen kam folgende pop up nach Aufruf.

Traceback......
......moduleNotFoundError: No Module named 'kt_xxx' (wobei das der programmname war).
Danke für eure Antworten
Sirius3
User
Beiträge: 17745
Registriert: Sonntag 21. Oktober 2012, 17:20

Warum solltest du nur Programm ohne GUI aufrufen können? Die ganze Fehlermeldung wäre schon wichtig.
Gerhardus
User
Beiträge: 42
Registriert: Dienstag 31. Dezember 2013, 01:59

Danke Sirius,

Deine Frage hat mich auf einen trivialen Fehler aufmerksam gemacht. Im Laufe der Programmentwicklung hat sich mainloop()
irgendwann in den Testläufen verabschiedet, was aber im Idle nichts ausmacht. Deshalb keine GUI im cmd Fenster. Sicher zum Schmunzeln.

Zu cx_freeze das prinzipiell funktioniert, aber ab einer programmversion eben nicht mehr. Bei der letzten Version version kommt die gestern
beschriebene Fehlermeldung bei einer Version nach der funktionierenden hatte ich im cmd Fenster diese Meldung:

copying C:\Python38\lib\site-packages\cx_Freeze\bases\Win32GUI.exe -> build\exe.win32-3.8\KT_Tour_tk_v0.65.exe
error: [WinError 5] Zugriff verweigert: 'build\\exe.win32-3.8\\python38.dll'

Ich bin einen Schritt weiter, da ich nun weiß, das cx_freeze funktioniert, muss aber herausfinden bei welchen Erweiterungen
die Ursache der Fehler sind.

Danke
Gerhardus
User
Beiträge: 42
Registriert: Dienstag 31. Dezember 2013, 01:59

Alles erledigt. Funktioniert jetzt auch die letzte Version als exe. Habe einfach dem Programm einfachere Namen gegeben, ohne 'v0.6' im filenamen, das dürfte die Fehler verursacht haben.
Danke
Antworten