Create a standalone windows exe which does not require pythonXX.dll

alexroat picture alexroat · Apr 1, 2009 · Viewed 9.3k times · Source

is there a way to create a standalone .exe from a python script. Executables generated with py2exe can run only with pythonXX.dll. I'd like to obtain a fully standalone .exe which does not require to install the python runtime library. It looks like a linking problem but using static library instead the dynamic one and it would be also useful to apply a strip in order to remove the unused symbols.

Any idea ?

Thanks.

Alessandro

Answer

Jason Coon picture Jason Coon · Apr 1, 2009

You can do this in the latest version of py2exe...
Just add something like the code below in your setup.py file (key part is 'bundle_files': 1).

To include your TkInter package in the install, use the 'includes' key.

distutils.core.setup(
      windows=[
            {'script': 'yourmodule.py',
             'icon_resources': [(1, 'moduleicon.ico')]
            }
      ],
      zipfile=None,
      options={'py2exe':{
                         'includes': ['tkinter'],
                         'bundle_files': 1
                        }
      }
  )