py2exe is a software to build standalone Windows executable programs from Python
scripts. py2exe can build console executables and windows (GUI) executables.
py2exe supports the Python versions* included in the official development cycle.
Development of py2exe is hosted here: https://github.com/py2exe/py2exe.
The detailed changelog is published on GitHub.
Version 0.13.0.2:
- reintroduce ability to specify different version info for each of the frozen binaries
- fix a bug in
MemoryModule.c:PerformBaseRelocation - fix missing initialization settings for the runtime Python interpreter
- add support for
setuptoolsv72 - fix the
matplotlib,numpy, andscipyhooks - fix
py2exewheels build withsetuptoolsv70.0.0
Version 0.13.0.1:
- improved the hook for
pkg_resourcesto detect its vendored content automatically - the
matplotlibhook now does not excludewxautomatically - adapted the hook for
matplotlibto support their use ofdelvewheel - adapted the hooks for
numpyandpandasto support the new.libslocation
Version 0.13.0.0:
- Add support for Python 3.11
- Drop support for Python 3.7
- Drop support for
win32wheelswin32wheels are still built and shipped but are provided untested. Issues experienced when using these wheels will not be investigated. See py2exe#157 for further information.
- Remove
build_execommand line interface. Please use thepy2exe.freezeAPI.
Version 0.12.0.2:
- Support
scipyversions newer than 1.9.2. - Fixed documentation for the
py2exe.freezeAPI.
Version 0.12.0.1:
- Fixed an issue that prevented builds via the deprecated
setup.pyAPI.
Version 0.12.0.0:
- Introduce the new
py2exe.freezeAPI. Documentation can be found here. - Use of the
setup.py py2execommand and ofdistutilsis deprecated as per PEP 632. Both these interfaces will be removed in the next major release. See here for a migration guide. - Add two hooks to fix the bundling of
winrtandpasslib.
Version 0.11.1.1:
- The log file for windows apps is now stored in
%APPDATA%by default ModuleFindernow raises an explicit error if a required module is inexcludes- Restore hook functionality for
pkg_resources - The
Stderr.writemethod used for windows apps now returns the number of written bytes
Version 0.11.1.0:
- Drop support for Python 3.6
- Include package metadata in the bundle archive (to be used by e.g.
importlib.metadata) - Fixed a bug that prevented to use the
optimizeoption whensixwas in the bundle - Fixed a bug that ignored the
optimizeflag for some packages
Version 0.11.0.1:
- Show again relative paths in Tracebacks that happen from the frozen application (#12 and #114)
Version 0.11.0.0:
- New module finder
mf310written as a wrapper around CPythonmodulefinder.ModuleFinder - Add support for Python 3.10
- New hook for
scipy zipextimportercan now be built as a standalone extension via its own setup script
Version 0.10.4.1:
ModuleFinder: add support for thepkg_resources.extern.VendorImporterloader- New hooks for
pkg_resourcesandinfi
Version 0.10.4.0:
zipextimportersupports external modules that use multi-phase initialization (PEP 489)- New hook for
selenium dllfinderprovides a new method to add data files in the zip archive
Version 0.10.3.1:
- New hook for
pycryptodomex ModuleFinder: respect excludes list inimport_package- Updated hook for
matplotlib>= 3.4.0
Version 0.10.3.0:
- New hook for supporting
matplotlib3.2 and higher. - Fix for including implicit namespace packages as per PEP420.
Version 0.10.2.1:
- Patch
MyLoadLibraryto supportsslwithbundle_files=0.
Version 0.10.2.0:
- New module finder with support for implicit namespace packages (PEP 420).
DLLFinderautomatically excludes VC++ redist and Windows CRT DLLs from bundles.- Several fixes for bundling software with
bundle_files<=2(only the standard library is supported, other dependencies may or may not work). - New hooks for
pycryptodomeandshapely.
Version 0.10.1.0:
- Add support for Python 3.9.
- Drop support for Python 3.5.
- New hooks for
urllib3andpandas.
Version 0.10.0.2 (from versions 0.9.x):
- Introduce compatibility with Python 3.5, 3.6, 3.7, and 3.8.
- Drop compatibility with Python 3.4 and earlier.
- New or updated hooks for
certifi,numpy,tkinter,socket,ssl, andsix. build_exe: thezipfile=Noneoption has been removed.runtime: the Python interpreter DLL is no longer altered before being inserted in the executable bundle.- Several bugfixes, better error messages.
pip install py2exe
Use the py2exe.freeze function as documented here.
Using a setup.py script with py2exe is deprecated. Please adapt your
scripts to use the new freeze API. This interface will be removed in the
next major release.
The build_exe (or -m py2exe) CLI was removed in version 0.13.0.0.
- High-level methods or hooks to embed Qt plugins in the bundle (needed by PySide2/PyQt5) are missing.
- (*)
win32wheels are provided without testing. Users are encouraged to use thewin_amd64wheels (see #157).
Further informations about the original development of py2exe and other
usage guidelines can be found in the original README.