PyInstaller - Windows Programme unter Linux kompilieren In diesem Artikel möchte ich kurz und mit kleinen Beispielen zeigen, wie man unter Linux, bei mir Ubuntu 7.04, Python-Programme mit PyInstaller zu ausführbaren Windows-Programmen kompiliert.

Benötigte Programme

Wine

Habe ich per apt-get in Version 0.9.33 installiert. Wie man es installiert, steht auf http://www.winehq.com.

Python

Bei Python habe ich den aktuellen (2.5) Windows Installer von http://www.python.org im MSI-Format heruntergeladen.

Python installieren wir nun unter Wine. Das hat natürlich keine Auswirkungen auf die Python-Installation von Linux.

cd /in/das/Verzeichnis/wo/pythoninstaller/exe/liegt
wine msiexec /i python-2.5.1.msi

Nun einfach dem Installationsassistenten folgen.

PyInstaller

Bei PyInstaller habe ich von http://pyinstaller.python-hosting.com die aktuelle Version 1.3 heruntergeladen.

PyInstaller wird in Wines Python-Verzeichnis entpackt, bei mir war es der Name pyinstaller-1.3. Das Verzeichnis ist normalerweise /home/username/.wine/drive_c/Python25/.

Um PyInstaller zu konfigurieren, den folgenden Befehl aus dem PyInstaller Verzeichnis ausführen -- die configure.py muss per wine über die python.exe ausgeführt werden, sonst wird PyInstaller für das unter Linux installierte Python konfiguriert.

wine ../python.exe configure.py

Das erste Programm

myscript.py:

import time
import Tkinter as tk
root = tk.Tk()
lab = tk.Label(root, text="Tkinter Minimal-Test %s"%(time.time()))
lab.pack()
root.mainloop()

Damit das folgende Beispiel funktioniert, muss myscript.py in den pyinstaller-Ordner gelegt werden, und auch die Befehlseingabe muss aus dem Ordner erfolgen. Ich habe ein Beispiel mit Tkinter gewählt, um zu zeigen, dass auch GUI-Programme funktionieren.

Der folgende Befehl erzeugt die spec-Datei:

wine ../python.exe Makespec.py --onefile myscript.py

Mit der nun vorhandenen spec-Datei können wir unser Programm kompilieren:

wine ../python.exe Build.py myscript/myscript.spec

Im Ordner myscript/ sind nun diverse Ordner und Dateien; gebraucht wird aber nur die exe-Datei, da beim Erzeugen der spec-Datei die Option --onefile mitgegeben wurde.

Es lohnt sich auf jeden Fall ein Blick in das Handbuch von PyInstaller, um noch andere Optionen und Einstellungen kennen zu lernen.

Tags: Tipps

PyInstaller - Windows Programme unter Linux kompilieren (zuletzt geändert am 2009-06-17 16:14:26 durch anonym)