py2exe Changelog

What's new in py2exe 0.13.0.1

Oct 8, 2023
  • Changelog:
  • improved the hook for pkg_resources to detect its vendored content automatically (issue #175 raised by @Athanasius).
  • the matplotlib hook now does not exclude wx automatically (issue #169 raised by @infinity77).
  • README: fix external link to freeze API (issue #162 raised by @novski).
  • adapted the hook for matplotlib to support their use of delvewheel (PR #182 by @zobac).
  • adapted the hooks for numpy and pandas to support the new .libs location,

New in py2exe 0.13.0.0 (Nov 7, 2022)

  • Add support for Python 3.11
  • Drop support for Python 3.7
  • Drop support for win32 wheels:
  • win32 wheels are still built and shipped but are provided untested. Issues experienced when using these wheels will not be investigated. See #157 for further information.
  • Remove build_exe command line interface. Please use the py2exe.freeze API.
  • Migrated the frozen Python bootloader to the new PyConfig initialization API.
  • _memimporter: switch to sys.modules dict to check for reimports instead of _PyImport_FindExtensionObject
  • runtime.LOAD_FROM_DIR: remove deprecated call to imp.load_dynamic`

New in py2exe 0.12.0.2 (Oct 27, 2022)

  • Update scipy hook to support version 1.9.2 and above.
  • freeze: update docstrings and documentation (issue #152 raised by @Athanasius).

New in py2exe 0.12.0.1 (Sep 21, 2022)

  • builds set with the deprecated setup.py API were crashing runtime since they do not contain or support version_info (issue #151 raised by @Athanasius)

New in py2exe 0.11.1.1 (Jul 4, 2022)

  • The Stderr.write method used for logs of windows apps now returns the number of written bytes, PR #134 by @manueljacob.
  • Change default path of the log file created for windows apps to %APPDATA%, issue #138 by @mharbison72.
  • Restore hook functionality for pkg_resources, issue #139 by @Athanasius.
  • Restore explicit ImportError message when a module is required but it is listed in the ModuleFinder.excludes list, mentioned in issue #132 by @mharbison72.

New in py2exe 0.11.1.0 (Feb 13, 2022)

  • Drop support for Python 3.6
  • Include package metadata in the bundle archive (issue #126 by @Athanasius)
  • Fixed a bug that prevented to use the optimize option when six was in the bundle (issue #120 by @MaxBQb)
  • Fixed a bug that ignored the optimize flag for some packages (issue #125 by @nchidsey)
  • Add setup_requires keyword in the py2exe setup scripts (issue #124 by @HeavyTony2)
  • Support building py2exe with setuptools>=60

New in py2exe 0.10.4.1 (Oct 8, 2021)

  • hangelog:
  • ModuleFinder: add support for the pkg_resources.extern.VendorImporter loader (see cb82823 for further information)
  • New hooks for pkg_resources and infi

New in py2exe 0.6.9 (Aug 12, 2011)

  • Binaries for Python 2.6 and Python 2.7.
  • Fixed a modulefinder crash on certain relative imports.
  • Changed the py2exe\samples\singlefile\gui\test_wx.py sample to use the wx package instead of the old wxPython package.
  • Copy the manifest, if any, from the 'template' into the targets to ensure embedded assembly references, as required for python 2.6 based apps, are copied.
  • Allow each target to specify Vista User Access Control flags. For example, specifying 'uac_execution_info="requireAdministrator"' would force elevation for the final executable.

New in py2exe 0.6.8 (Aug 12, 2011)

  • Support for relative imports.
  • Fix MemoryLoadLibrary to handle loading function addresses by ordinal numbers. Patch and test by Matthias Miller.
  • Using the options compressed=1, bundle_files=3, and zipfile=None at the same time now works; patch from Alexey Borzenkov.
  • Allow renaming of single-executable files; patch from Alexey Borzenkov.
  • Embedding icon resources into the image now works correctly even for ico files containing multiple images.
  • pyd files from different packages with the same filename no longer conflict. Patch from Grant Edwards.
  • There are new samples for the 'typelibs' support, including the new option of pre-generating a typelib and specifying the file as an input to py2exe.
  • The test suite is now included in the source distribution.

New in py2exe 0.6.6 (Aug 12, 2011)

  • Better support for Python 2.5.
  • Experimental support for 64-bit builds of Python on win64.
  • Better ISAPI support.
  • New samples for ISAPI and COM servers.
  • Support for new "command-line styles" when building Windows services.

New in py2exe 0.6.5 (Aug 12, 2011)

  • Fixed modulefinder / mf related bugs introduced in 0.6.4. This will be most evident when working with things like win32com.shell and xml.xpath.
  • Files no longer keep read-only attributes when they are copied as this was causing problems with the copying of some MS DLLs.

New in py2exe 0.6.4 (Aug 12, 2011)

  • New skip-archive option which copies the Python bytecode files directly into the dist directory and subdirectories - no archive is used.
  • An experimental new custom-boot-script option which allows a boot script to be specified (e.g., --custom-boot-script=cbs.py) which can do things like installing a customized stdout blackhole. See py2exe's boot_common.py for examples of what can be done. The custom boot script is executed during startup of the executable immediately after boot_common.py is executed.
  • Thomas Heller's performance improvements for finding needed modules.
  • Mark Hammond's fix for thread-state errors when a py2exe created executable tries to use a py2exe created COM DLL.

New in py2exe 0.6.3 (Aug 12, 2011)

  • dll-excludes is now available on the command line and can be used to exclude msvcr71.dll and w9xpopen.exe.
  • A bug that caused py2exe to crash when copying extension modules in packages was fixed.

New in py2exe 0.6.2 (Aug 12, 2011)

  • Several important bugfixes.
  • For Python 2.4, MSVCR71.dll is now copied into the dist directory. This dll cannot be bundled into the executable, sorry.

New in py2exe 0.6.1 (Aug 12, 2011)

  • Can now create single file executables.