So nach viel ausprobieren und vielen Tipps hier aus dem Forum hab ichs endlich hinbekommen ein GUI Programm mit GTK+ und py2exe erfolgreich zu kompilieren und auf einem anderen Rechner zum laufen zu bekommen.
Hier mal eine kleine Anleitung dazu.
Vieleicht hilfts ja jemandem weiter
1. In meineanwendung.py folgende Zeilen an erster Stelle einfügen
2. Folgende setup.py modifizieren und benutzen
Code: Alles auswählen
from distutils.core import setup
import py2exe
import glob
import sys
sys.path.append('src')
includes = ['encodings', 'encodings.utf-8',]
opts = {
'py2exe': {
'includes': 'pango,atk,gobject,encodings,encodings.*',
'dll_excludes': [
'iconv.dll','intl.dll','libatk-1.0-0.dll',
'libgdk_pixbuf-2.0-0.dll','libgdk-win32-2.0-0.dll',
'libglib-2.0-0.dll','libgmodule-2.0-0.dll',
'libgobject-2.0-0.dll','libgthread-2.0-0.dll',
'libgtk-win32-2.0-0.dll','libpango-1.0-0.dll',
'libpangowin32-1.0-0.dll'
],
}
}
setup(
name = 'Meine Anwendung',
version = '1.0',
description = ' Meine Anwendung ',
windows = [{'script': 'src/anwendung.py',
'icon_resources': [(1, 'src/icon.ico')]}],
options=opts,
data_files=[("glade", glob.glob("src/*.glade"))
],
)
3. Die Anwenung mit dem Befehl
kompilieren
4. In den nun entstandenen Ordner "dist" folgende Ordner hinein kopieren / erstellen
Code: Alles auswählen
Ordner "gtk" erstellen
Ordner "bin, etc, lib" aus c:\GTK nach dist\gtk kopieren
aus dist\gtk\bin können alle Dateien außer die *.dll gelöscht werden
Um den gtkthemeselector verwenden zu können Datei dist\bin die Datei gtkthemeselector.exe nicht löschen
Ordner dist\share erstellen
Ordner dist\share\themes erstellen
Nach dist\share\themes die gewünschten GTK Themes kopieren
Nun sollte die Anwendung funktionstüchtig sein und auf anderen Rechnern laufen. Evtl. wird noch die Datei "mfc71.dll" benötigt. Einfach aus dem Ordner c:\windows\system32 rauskopieren und in den gleichen Ordner auf dem Zielrechner reinkopieren.
Bzw. falls ein Installer verwendet werden soll per Installer nach c:\windows\system32 kopieren lassen.
Gruß
Damaskus