Windows Console

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
Muck22
User
Beiträge: 32
Registriert: Donnerstag 25. September 2014, 05:58

Hallo zusammen,

ich habe folgendes Problem:
Ich nutze Python 2.7.8, wenn ich eine ... .py Datei erstelle und sie öffne erscheint mein Tkinter Fenster auch so wie es soll und die Console startet auch, schliesst sich aber nicht von selber.
wenn ich eine ... .pyw Datei erstelle öffnet sich Das Fenster ohne Console wie es sein soll.

Alles nicht so schlimm, aber wenn ich aus der ... .py Datei eine ... .exe mache (mit py2exe) und diese öffne, öffnet sich auch die Console und bleibt geöffnet.
Muck22
User
Beiträge: 32
Registriert: Donnerstag 25. September 2014, 05:58

Hab das Problem mit der exe Datei schon selber gelöst!
Manchmal hilft lesen ja doch! :-)

Inhalt der setup.py war:
  • from distutils.core import setup
    import py2exe

    setup(console=['BCST10.py'])
Inhalt jetzt:
  • from distutils.core import setup
    import py2exe

    setup(windows=['BCST10.py'])
Muck22
User
Beiträge: 32
Registriert: Donnerstag 25. September 2014, 05:58

Hallo erst mal!

Jetzt hätte ich doch noch eine Frage zur Erstellung von exe Dateien für Windows!
Mit py2exe erstelle ich mir die ausführbare Datei, allerdings darf ich diese ja aus dem angelegten Ordner nicht entfernen (höchstens mit einer Verknüpfung).
Ist es möglich eine ausführbare Datei (exe) zu erstellen die alles beinhaltet was das Programm braucht (also nur eine einzige Datei)?
BlackJack

@Muck22: Jain. Es gibt die Möglichkeit alles in eine selbstentpackende EXE zu verpacken die beim Start die nötigen Dateien in ein temporäres Verzeichnis entpackt, das eigentliche Programm dort startet, und am Ende die Dateien wieder löscht.
Muck22
User
Beiträge: 32
Registriert: Donnerstag 25. September 2014, 05:58

Super, genau sowas suche ich!
Wo kann ich mich schlau mache ?
lackschuh
User
Beiträge: 281
Registriert: Dienstag 8. Mai 2012, 13:40

Meinst du eine single .exe?

Eventuell so:

Code: Alles auswählen

from distutils.core import setup
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options={'py2exe': {'bundle_files': 1}},
    windows=[{'script': "app.pyw"}],
    zipfile=None,
    )

Edit:
Ich mach eine 'portable' oder 'singel' .EXE oder wie mans auch nennen will immer mit pyinstaller

Code: Alles auswählen

C:\Python27\Lib\site-packages\Pyinstaller-2.1>python pyinstaller.py -F -w -i icon.ico --version-file=version.txt C:\Projekte\xxxxxx\xxxxx\app.pyw
Muck22
User
Beiträge: 32
Registriert: Donnerstag 25. September 2014, 05:58

Vielen Dank,

werd ich testen sobald ich kann! :lol:
Muck22
User
Beiträge: 32
Registriert: Donnerstag 25. September 2014, 05:58

@lackschuh: So hab das jetzt mal probiert, es wird mir im Ordner "dist" auch eine einzelne exe - Datei erzeugt, nur leider kann ich diese nicht öffnen (das Programm startet nicht)! :(
Was mach ich denn nur falsch?
lackschuh
User
Beiträge: 281
Registriert: Dienstag 8. Mai 2012, 13:40

Wird eine Log Datei erstellt im /dist Ordner? Wenn ja, was beinhaltet diese?

Meine App basiert auf PyQt4 und da ist es ein wenig tricky bis es geht. Ich finde pyinstaller einfacher.

Code: Alles auswählen

from distutils.core import setup
import ctypes; lib = ctypes.WinDLL('MSVCP90.dll')
import py2exe, sys, os

sys.argv.append('py2exe')

setup(
    options={
             'py2exe': {
                        "includes": ["sip"],
                        'bundle_files': 1, 'compressed': True,
                        "dll_excludes": ["MSVCP90.dll", "HID.DLL", "w9xpopen.exe"],
                        },
             },
    windows=[{'script': "app.pyw"}],
    zipfile=None,
    )
Muck22
User
Beiträge: 32
Registriert: Donnerstag 25. September 2014, 05:58

Ich probiere mal den Pyinstaller! :) Und melde mich dann wieder!
Muck22
User
Beiträge: 32
Registriert: Donnerstag 25. September 2014, 05:58

Pyinstaller mag er nicht, ich soll pywin32-219 downloaden! :(
Antworten