python-Programm als .exe

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
-dude-
User
Beiträge: 16
Registriert: Samstag 25. Februar 2012, 09:43

Hallo zusammen,

ich habe in PyQt ein Program geschrieben. Nun würde ich das gerne für Windoof-User benutzbar machen. Wie würdet ihr das angehen? Würdet ihr ein .exe-FIle daraus machen? Falls ja, nehmt ihr py2exe? Funktioniert das mit Qt? Falls nicht wie würdet ihr dann vorgehen?

Danke schonmal,
Grüße
Rekrul
User
Beiträge: 78
Registriert: Dienstag 7. Dezember 2010, 16:23

-dude- hat geschrieben:Würdet ihr ein .exe-FIle daraus machen?
Falls du nicht davon ausgehen kannst, dass python und alle Abhängigkeiten die dein Programm verwendet auf den Zielrechnern vorhanden sind und den Benutzern nicht zutrauen kannst / willst diese zu installieren, dann wird dir vermutlich nichts anderes übrig bleiben, als dein Programm zu 'freezen'.

Ob du nun Py2Exe, pyinstaller, cx_freeze, bbFreeze etc. verwendest bleibt dir überlassen und ist sicherlich auch ein wenig Geschmacksache. Ich persönliche nutze pyinstaller und bin damit sehr zufrieden.

Falls du mit diesen Kommandozeilentools nicht zurecht kommst, kannst du dir ja GUI2EXE anschauen. Ist allerdings nur eine GUI um die oben genannten tools ...
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Zumindest von PyInstaller weiß ich, dass er "damals" (etwa 1-2 Jahre her) ganz gut mit PyQt funtioniert hat. Würde folglich mal vermuten, dass es sich in der Hinsicht eher verbessert statt verschlechtert hat. ;)

PyIntaller verfolgt ja das Ziel, immer möglichst out-of-the-box (also ohne die Notwendigkeit irgendwelcher Konfigurationseinstellungen) benutzbar zu sein. Ich weiß nicht, wie das bei anderen "Freezern" aussieht.
Rekrul
User
Beiträge: 78
Registriert: Dienstag 7. Dezember 2010, 16:23

Ich kann bestätigen, dass PyQt, matplotlib und numpy/scipy auch heute noch 'out-of-the-box' funktionieren.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Rekrul hat geschrieben:Falls du nicht davon ausgehen kannst, dass python und alle Abhängigkeiten die dein Programm verwendet auf den Zielrechnern vorhanden sind und den Benutzern nicht zutrauen kannst / willst diese zu installieren, dann wird dir vermutlich nichts anderes übrig bleiben, als dein Programm zu 'freezen'.
Ach wieso, man kann doch einfach eine reguläre Python-Version mitliefern.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

@Leonidas: Und Qt, und PyQt, und… — das dann alles in der richtigen Reihenfolge installieren überfordert einige Endbenutzer und schreckt andere ab.
-dude-
User
Beiträge: 16
Registriert: Samstag 25. Februar 2012, 09:43

Danke für eure Hilfe ich werde mir die ganzen Ideen angucken.
lunar

@Leonidas: Außerdem kann man unter WIndows nicht bestimmen, mit welcher Python-Version ein Skript ausgeführt wird. Lieferst Du Dein Programm für Python 3 aus, und der Nutzer installiert später aus irgendwelchen Gründen Python 2, kann es passieren, dass Dein Programm dann plötzlich auch mit Python 2 gestartet wird.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

@BlackJack: Natürlich.
lunar hat geschrieben:@Leonidas: Außerdem kann man unter WIndows nicht bestimmen, mit welcher Python-Version ein Skript ausgeführt wird. Lieferst Du Dein Programm für Python 3 aus, und der Nutzer installiert später aus irgendwelchen Gründen Python 2, kann es passieren, dass Dein Programm dann plötzlich auch mit Python 2 gestartet wird.
Dafür kann man entsprechende Starter-Files machen. Ist schon nicht sonderlich kompliziert. Vorteil ist, dass sich das Skript wie beim Entwickler verhält, nicht so wie ein "gefreezed"-es Programm, wo manchmal Sachen wie ``__name__`` etc. sich unterschiedlich verhalten.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-dude-
User
Beiträge: 16
Registriert: Samstag 25. Februar 2012, 09:43

Also, ich verzweifle im Moment an meinen Windows-Fähigkeiten. Unter Linux ist es so einfach das Programm auszuführen. Alles installieren und python programm.py und fertig. Unter WIndows nix.. Ich hab Python 2.7 und PyQt4 installiert aber ich kann die Datei nicht ausführen.

Kann mir da jemand weiterhelfen?
lunar

@-dude-: Ohne detaillierte Beschreibung und Fehlermeldung... kaum. Beschreibe also bitte, wie Du Python und PyQt4 installiert hast, wie Du das Programm startest, und welche Fehlermeldung auftritt, wenn Du das Programm aus der Konsole startest (andernfalls siehst Du die Fehlermeldung nicht!).
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

lunar hat geschrieben:@Leonidas: "Starter-File"?!
Denke mal, es ist eine Batchdatei gemeint, die explizit eine bestimmte Interpreterversion aufruft. Das setzt allerdings voraus, dass analog zur Vorgehensweise unter Linux irgendwelche Softlinks mit entsprechenden Benennungen erstellt wurden, was wohl eher unwahrscheinlich ist...
Campionissimo
User
Beiträge: 102
Registriert: Montag 28. März 2011, 07:50

Hallo,
ich habe ein .EXE Datei von meinem Python script erstellt.
Wenn ich diese exe an einem anderen Computer ausführen möchte geht es nicht, klar.
Wie könnte ich die fehlenden Module, wie wx in die exe miteinbinden ?
Zusätzlich noch die Frage kann static.bitmap auch in die exe miteinbinden?

Vielen Dank
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Campionissimo hat geschrieben:Wenn ich diese exe an einem anderen Computer ausführen möchte geht es nicht, klar.
An sich nicht so klar. Denn gerade für die Ausführung des Skriptes auf fremden Rechnern (wo die Abhängigkeiten, wie z.B. installiertes Python, nicht erfüllt sind), sollte mit der fertigen EXE problemlos funktionieren. Sonst macht das ganze ja auch relativ wenig Sinn. Hast du PyInstaller mal probiert?
Campionissimo
User
Beiträge: 102
Registriert: Montag 28. März 2011, 07:50

Hallo,

vielen Dank,

hab es jetzt mit mit pyinstaller eine exe erstellt. Kann man auch ein Bild mit in die exe einfügen ?

Danke und Grüße
OTB
User
Beiträge: 15
Registriert: Samstag 24. März 2007, 17:54

snafu hat geschrieben:
Campionissimo hat geschrieben:Wenn ich diese exe an einem anderen Computer ausführen möchte geht es nicht, klar.
An sich nicht so klar. Denn gerade für die Ausführung des Skriptes auf fremden Rechnern (wo die Abhängigkeiten, wie z.B. installiertes Python, nicht erfüllt sind), sollte mit der fertigen EXE problemlos funktionieren. Sonst macht das ganze ja auch relativ wenig Sinn. Hast du PyInstaller mal probiert?
Seit python 2.6 klappt das mit py2exe und cx_freeze leider nicht mehr so einfach, wenn auf dem Zielrechner gewisse Microsoft-dll-Dateien fehlen.
http://cx_freeze.readthedocs.org/en/latest/overview.html

Dann werde ich PyInstaller mal ausprobieren....
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Campionissimo hat geschrieben:hab es jetzt mit mit pyinstaller eine exe erstellt. Kann man auch ein Bild mit in die exe einfügen ?
Nö, die Bilddateien musst du separat ausliefern.
Antworten