Skip to main content

Build standalone executables for Windows

Project description

py2exe for Python 3

py2exe is a software to build standalone Windows executable programs (32-bit and 64-bit) 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.

Changes

The detailed changelog is published on GitHub.

Version 0.12.0.1:

  • Fixed an issue that prevented builds via the deprecated setup.py API.

Version 0.12.0.0:

  • Introduce the new py2exe.freeze API. Documentation can be found here.
  • Use of the setup.py py2exe command and of distutils is 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 winrt and passlib.

Version 0.11.1.1:

  • The log file for windows apps is now stored in %APPDATA% by default
  • ModuleFinder now raises an explicit error if a required module is in excludes
  • Restore hook functionality for pkg_resources
  • The Stderr.write method 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 optimize option when six was in the bundle
  • Fixed a bug that ignored the optimize flag 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 mf310 written as a wrapper around CPython modulefinder.ModuleFinder
  • Add support for Python 3.10
  • New hook for scipy
  • zipextimporter can now be built as a standalone extension via its own setup script

Version 0.10.4.1:

  • ModuleFinder: add support for the pkg_resources.extern.VendorImporter loader
  • New hooks for pkg_resources and infi

Version 0.10.4.0:

  • zipextimporter supports external modules that use multi-phase initialization (PEP 489)
  • New hook for selenium
  • dllfinder provides a new method to add data files in the zip archive

Version 0.10.3.1:

  • New hook for pycryptodomex
  • ModuleFinder: respect excludes list in import_package
  • Updated hook for matplotlib >= 3.4.0

Version 0.10.3.0:

  • New hook for supporting matplotlib 3.2 and higher.
  • Fix for including implicit namespace packages as per PEP420.

Version 0.10.2.1:

  • Patch MyLoadLibrary to support ssl with bundle_files=0.

Version 0.10.2.0:

  • New module finder with support for implicit namespace packages (PEP 420).
  • DLLFinder automatically 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 pycryptodome and shapely.

Version 0.10.1.0:

  • Add support for Python 3.9.
  • Drop support for Python 3.5.
  • New hooks for urllib3 and pandas.

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, and six.
  • build_exe: the zipfile=None option has been removed.
  • runtime: the Python interpreter DLL is no longer altered before being inserted in the executable bundle.
  • Several bugfixes, better error messages.

Installation

pip install py2exe

Usage

Use the py2exe.freeze function as documented here.

Using a setup.py script or the builder

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 CLI is not supported and will be removed in the next major release.

Known issues

  • High-level methods or hooks to embed Qt plugins in the bundle (needed by PySide2/PyQt5) are missing.

Credits

Further informations about the original development of py2exe and other usage guidelines can be found in the original README.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py2exe-0.12.0.1.tar.gz (123.8 kB view hashes)

Uploaded source

Built Distributions

py2exe-0.12.0.1-cp310-cp310-win_amd64.whl (151.8 kB view hashes)

Uploaded cp310

py2exe-0.12.0.1-cp310-cp310-win32.whl (144.3 kB view hashes)

Uploaded cp310

py2exe-0.12.0.1-cp39-cp39-win_amd64.whl (151.8 kB view hashes)

Uploaded cp39

py2exe-0.12.0.1-cp39-cp39-win32.whl (144.3 kB view hashes)

Uploaded cp39

py2exe-0.12.0.1-cp38-cp38-win_amd64.whl (151.8 kB view hashes)

Uploaded cp38

py2exe-0.12.0.1-cp38-cp38-win32.whl (144.3 kB view hashes)

Uploaded cp38

py2exe-0.12.0.1-cp37-cp37m-win_amd64.whl (151.8 kB view hashes)

Uploaded cp37

py2exe-0.12.0.1-cp37-cp37m-win32.whl (144.2 kB view hashes)

Uploaded cp37

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page