Hilfe zu Py2Exe bzw PyInstaller

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
Antworten
Robokopp
User
Beiträge: 64
Registriert: Mittwoch 3. November 2010, 12:04

Hallo

ich habe ein Programm, welches PyQt nutzt und aus 2 Dateien besteht, aus dem ich eine exe-Datei machen möchte!
-main.py
-gui.ui

Die meisten Tutorials beziehen sich leider auf reine Konsolenversionen, weshalb ich nicht weiß wie ich das auf mein Programm anwenden soll, da hier ja mehr als nur eine Datei gepackt werden muss.

Wie müsste da die setup.py Datei aussehen und was ist sinnvoller und einfacher (py2exe oder pyinstaller)?

Wie sieht es mit den PyQt Bibliotheken aus? (Einbindung)

MfG

EDIT:

Habs jetzt auch eine Weile mit Gui2Exe probiert, ohne Erfolg!

Wo lege ich bitte dieses dämliche ui File fest und wie integriere ich mein PyQt4?
laserfan64
User
Beiträge: 27
Registriert: Donnerstag 10. November 2011, 16:45

ich würde sagen py2exe weil es besser ist
deets

@laserfan64

Woher weisst du das? Du hast doch noch nicht mal ein simples Skript damit zu einer EXE verwandeln koennen? Woher kommt mit einem Mal dieser Erfahrungsvorsprung?
Gremlin
User
Beiträge: 166
Registriert: Freitag 28. Mai 2010, 23:49

Eins vorweg, ich kenne mich nicht mit PyQT/PyInstaller aus, sondern nur mit wxpython und py2exe, aber ich denke die Prinzipien sollten die selben sein.

Du kennst die Samples von Py2exe? (...\Python\lib\site-packages\py2exe\samples)
Da dürfte der "advanced"-Ordner für dich interessant sein.

Du findest da in der setup.py folgenden Abschnitt:

Code: Alles auswählen

test_wx = Target(
    # used for the versioninfo resource
    description = "A sample GUI app",
    ....
    )

...

setup(
    options = {"py2exe": {
                          ...
                          # create a compressed zip archive
                          "compressed": 1,
                          "optimize": 2,
                          "excludes": excludes,
                          "includes": ['gui.ui']}},
    ...
    windows = [test_wx],
    )
Das "windows = [test_wx]" kennzeichnet das weiter oben definierte "Target" als Nicht-Konsolen Applikation (d.h. "console = ..." brauchst du nicht) und mit der "includes"-Option im Setup kannst du Dateien mit in die Exe oder das Archiv einbeziehen die nicht automatisch durch den Importmechanismus erkannt werden. (Allerdings landet das dann tatsächlich im Archiv und nicht nur im selben Verzeichnis wie die Exe, und obs dann noch von PyQt erkannt werden kann, kann ich nicht sagen.)

Generell dürfte auch dieser Link hier recht nützlich sein: http://www.py2exe.org/index.cgi/GeneralTipsAndTricks
Antworten