Frage

ist es eine Möglichkeit, eine eigenständige EXE aus einem Python-Skript zu erstellen. Executables mit py2exe erzeugt wird, kann nur mit pythonXX.dll laufen. Ich möchte eine völlig eigenständige EXE erhalten, erfordert nicht die Python-Laufzeitbibliothek zu installieren. Es sieht aus wie ein Verbindungsproblem, sondern mit statischer Bibliothek stattdessen die dynamischen und es wäre auch nützlich, um einen Streife aufzubringen, um die nicht verwendeten Symbole zu entfernen.

Jede Idee?

Danke.

Alessandro

War es hilfreich?

Lösung

Sie können dies in der neuesten Version von py2exe ...
so etwas wie der unten in Ihrer setup.py Datei Code hinzufügen (Schlüsselteil ist 'bundle_files': 1).

Um Ihre TkInter Paket enthalten in der Installation, verwenden Sie die 'enthält' Taste.

distutils.core.setup(
      windows=[
            {'script': 'yourmodule.py',
             'icon_resources': [(1, 'moduleicon.ico')]
            }
      ],
      zipfile=None,
      options={'py2exe':{
                         'includes': ['tkinter'],
                         'bundle_files': 1
                        }
      }
  )

Andere Tipps

Aufgrund von Windows' dynamischen Linker funktioniert nicht die statische Bibliothek verwenden können, wenn Sie .pyd oder DLL-Python-Module verwenden; DLLs in Windows geladen wird nicht automatisch ihren Symbolraum mit der ausführbaren Datei teilen und erfordert so eine separate DLL der Python-Symbole enthalten.

Wenn Ihr Zweck eine einzelne ausführbare Datei zu haben, ist das Herunterladen erleichtern / E-Mail, usw. habe ich dieses Problem gelöst, indem die py2exe Ausgabe Bündelung mit Inno Setup . Dies ist eigentlich besser als eine einzige ausführbare Datei ist, weil anstatt eine ausführbare Datei bereitstellt, die in einem Verzeichnis abgelegt werden kann, eine gut erzogene Windows-Anwendung ein Deinstallationsprogramm zur Verfügung stellt, in dem Add zeigen / Remove Programs Applet usw. Inno behandelt alle dies für Sie.

Eine andere Lösung ist eine einzige exe mit Python zu erstellen und alle Abhängigkeiten in der es installiert ist, einschließlich der python.dll. Es ist ein bisschen Magie in der Verpackung, aber es funktioniert einfach. Die Details sind hier:

http://code.google.com /p/pylunch/downloads/detail?name=PyLunch-0.2.pdf

Dies ist nicht der beste Weg, es zu tun, aber Sie könnten sowohl mit der EXE-und DLL-Dateien innen mit ausführbaren SFX Archiven betrachten, und es Setzen Sie Ihre Exe-Datei auszuführen, wenn es doppelt angeklickt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top