[Python-de] Stand-alone Application für mehrere Plattformen

"Martin v. Löwis" martin at v.loewis.de
Sa Jun 21 20:59:38 UTC 2008


> ich möchte eine kleine Anwendung schreiben, die ohne Installation auf
> Win32, Linux und OS-X läuft. Die benötigten (GUI-) Bibliotheken sollen
> auch in dem stand-alone-Executable enthalten sein. Sprich: die Anwendung
> soll alles, was sie braucht, mitbringen, um Versionskonflikte zu vermeiden.
> 
> Wie bekomme ich das für Windows hin? py2exe?
> Und für OS-X? (Da habe ich gar keinen Plan)
> Brauche ich da für's Entwickeln/Build einen Win/Mac-Maschine?

Es ist im Prinzip möglich (und mit entsprechender Übung auch gar nicht
so schwer) auf allen Systemen einheitlich ein Executable mittels freeze
zu erzeugen (*). Alle C-Module müssen builtin werden; alle Python-Module
werden mittels freeze als frozen modules an das Executable herangelinkt.

Wenn man das aber noch nie gemacht hat, wird man sicher etliche Tage
brauchen, bis es funktioniert.

Wenn man das dann geschafft hat, kann man im Prinzip auch auf die
Win/Mac-Maschine verzichten, indem man den GCC als Cross-Compiler
verwendet. Ist aber höllisch schwierig.

Ich empfehle, die Ziele zu überdenken und doch eine
Installationsprozedur zu erlauben. Ist echt viel einfacher.

Ciao,
Martin

(*) also: der Build-Prozess ist einheitlich. Die Executables sind
natürlich plattformabhängig.