py2exe A PyGTK

Pokud nekdy budete chtit vyrobit binarku programu pouzivajiciho PyGTK, pravdepodobne se po uspesnem vytvoreni binarky pri spousteni programu setkate s chybovou hlaskou:

    Traceback (most recent call last):
      File "resize_images.py", line 6, in ?
      File "pygtk.pyc", line 73, in require
    AssertionError: required version '2.0' not found on system

reseni je jednoduche, staci v kodu programu zakomentovat radek:

    pygtk.require("2.0") 

je totiz "nekompatibilni" s py2exe.

Konfiguracni soubor pro py2exe

Toto je konfiguracni soubor pro py2exe, jaky pouzivam ja. Pokud ve svem projektu nepouzivate Glade, muzete odstranit cast data_files Toto reseni ma jedinou "nevyhodu" - GTK knihovny jsou linkovany dynamicky, a tak musi mit uzivatele nainstalovany alespon runtime GTK+ (napr. http://gladewin32.sourceforge.net/modules/wfdownloads/viewcat.php?cid=12):

    from distutils.core import setup 
      import py2exe 

      setup( 
          name = 'name', 
          description = 'description', 
          version = '1.0', 

          windows = [ 
                        { 
                            'script': 'jmeno_scriptu.py',  
                        } 
                    ], 

          options = { 
                        'py2exe': { 
                            'packages':'encodings', 
                            'includes': 'PIL,pango,atk,gobject', 
                            'excludes': 'pywin, pywin.debugger, pywin.debugger.dbgcon, pywin.dialogs, pywin.dialogs.list, Tkconstants,Tkinter,tcl',
                            "dll_excludes": 'tk84.dll, tcl84.dll,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'
                        } 
                    }, 

          data_files=[ 
                         'jmeno_glade_souboru.glade', 
                     ] 
      )