Python3 + PyGobject + GTK3 and cx_freeze missing DLLs
Asked Answered
R

1

2

When I make a exe from py python3 + pygobject + gtk3 application using the setup.py from pygobject site it misses some DLL files.

what files are missing?

Resonance answered 19/11, 2013 at 9:35 Comment(1)
I think the new GObject introspection system loads the libraries dynamically, so cx_Freeze at present can't follow the links to work out what libraries it needs.Rebbeccarebe
R
1

I have manualy tried what DLLs are required. So if this will help someone:

the setup.py must be edited. the missing_dlls list must be:

missing_dll = ['libgtk-3-0.dll',
           'libgdk-3-0.dll',
           'libatk-1.0-0.dll',
           'libcairo-2.dll',
           'libcairo-gobject-2.dll',
           'libgdk_pixbuf-2.0-0.dll',
           'libjpeg-8.dll',
           'libpango-1.0-0.dll',
           'libpangocairo-1.0-0.dll',
           'libpangoft2-1.0-0.dll',
           'libpangowin32-1.0-0.dll',
           'libgirepository-1.0-1.dll',
           'libffi-6.dll',
           'libfontconfig-1.dll',
           'libfreetype-6.dll',
           'libgio-2.0-0.dll',
           'libglib-2.0-0.dll',
           'libgmodule-2.0-0.dll',
           'libgobject-2.0-0.dll',
           'libpng15-15.dll',
           'libpyglib-gi-2.0-python-0.dll',
           'libxml2-2.dll',
           'zlib1.dll',
           'libgnutls-26.dll',
           'librsvg-2-2.dll',
           'libgcrypt-11.dll',
           'libp11-kit-0.dll']

and when you dont want all the files from share, etc and lib, edit the gtk_libs list:

gtk_libs = ['lib/gdk-pixbuf-2.0',
            'lib/girepository-1.0',
            'share/glib-2.0',
            'share/gtk-3.0']

you might include also the lib/engines, but I dont needed it.

Resonance answered 19/11, 2013 at 9:35 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.