Hmmmm. Well, the way I did it, if I remember correctly (the files are at work), was to run the line "python setup.py py2exe --force --excludes gtk, gobject,pango" and then copied the entire GTK directory into the distribution directory. Just copying the DLLs doesn't suffice since there are other files required for GTK to operate properly (config files, icons, etc, etc). Once I got it working, I tried removing files from the GTK tree that didn't look important and was able to halve the size of the resulting package.
It took a while to figure out the first time but all subsequent builds have been as simple as running that one python command and copying my custom GTK directory into the dist directory. Without being at my desk, that's the best I explanation I can give. If Monday rolls around and you still don't have it working, send an e-mail to my work account: tom [dot] cocagne [at] navy [dot] mil and I'll give you a few more specifics. Cheers, Tom Viktor wrote: > Nope, it doesn't work... I've tried that and the only thing I got was: > > ImportError: could not import pango > ImportError: could not import pango > Traceback (most recent call last): > File "test.py", line 5, in ? > File "gtk\__init__.pyc", line 113, in ? > AttributeError: 'module' object has no attribute 'Font' > > But it has: > >>>> import pango >>>> dir(pango).index('Font') > 71 > > > The only way it works is with this setup.py: > > ........................................................................ > > from distutils.core import setup > import py2exe > import glob > > opts = { > "py2exe": { > "includes": ["pango", "atk", "gobject", "gtk"], > "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 = "test", > description = "Test GUI programm", > version = "0.1", > windows = [{ > "script": "test.py", > "icon_resources": [(1, "test.ico")] > }], > options=opts, > data_files=[("pixmaps", glob.glob("pixmaps/*.png")), > ("glade", glob.glob("glade/*.*")) > ], > ) > > ........................................................................ > > But it's not stand-alone, it needs GTK, and when I copy all the dlls > needed in the dist directory, I get the same message as before. > > Pango-ERROR **: file shape.c: line 75 (pango_shape): assertion faled: > (glyphs->num_glyphs > 0) aborting... > > By the way, I'm allways getting this message at the end: > > The following modules appear to be missing > ['gdk', 'ltihooks'] -- http://mail.python.org/mailman/listinfo/python-list