Search code examples
pythonwindowspy2exe

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


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


Solution

  • 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
                            }
          }
      )