Habe mein Python Programm mit pyGTK erstellt und alles läuft wunderbar. Jetzt muss ich es "nur noch" für die User als Win .exe zur Verfügung stellen.
Habe schon einige Tools probiert, und komme mit cx_freeze und py2exe gut zu recht. Das einzige "Manko" ist, dass die "Testuser" überfordert waren die eigentliche .exe zu finden.
py2exe sollte eigentlich mit "bundle_files" : 1 das ganze in die liblary.zip packen, was es eigentlich auch macht so dass ich 3 Files habe:
fwut.exe > mein Programm
library.zip
w9xpopen.exe
das ist ok, aber wenn ich das Programm starten will, kommt im log die Fehlermeldung:
Traceback (most recent call last):
File "FWUT.py", line 25, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "Update.pyc", line 27, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "gtk\__init__.pyc", line 30, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "gobject\__init__.pyc", line 26, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "glib\__init__.pyc", line 22, in <module>
File "zipextimporter.pyc", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading glib\_glib.pyd
Mit "bundle_files" : 3 klappt es wunderbar.
Könnte natürlich alles in einen Unterordner packen und eine Verknüpfung erstellen, aber so sollte es ja eigentlich auch gehen...
mein Setup.py
Code: Alles auswählen
from distutils.core import setup
import py2exe
includes = ["cairo","gobject","gtk","gio","pango","pangocairo","atk"]
excludes = ['Tkinter',"email","unittest"]
setup(
windows=[{
"script":"FWUT.py",
"icon_resources": [(1, "img/cpu.ico")]
}],
options={
"py2exe":{
"excludes":excludes,
"bundle_files":2,
"includes":includes
}
}
)
Edit: Konfigurationen vergessen:
Win XP SP3
Python27
pygtk-all-in-one-2.22.6.win32-py2.7.msi