Features

textshell edited this page Oct 11, 2016 · 5 revisions

Features

  • Packaging of Python programs into standard executables, that work on computers without Python installed.
  • Multiplatform, works under:
    • Windows (32-bit and 64-bit)
    • Linux (32-bit and 64-bit)
    • Mac OS X (32-bit and 64-bit)
    • experimentally Solaris and AIX.
  • Multiversion, works under any version of Python from 2.4 up to 2.7 and 3.3 up to 3.5.
  • Flexible packaging mode:
    • Single directory: build a directory containing an executable plus all the external binary modules (.dll, .pyd, .so) used by the program.
    • Single file: build a single executable file, totally self-contained, which runs without any external dependency.
    • Custom: you can automate !PyInstaller to do whatever packaging mode you want through a simple script file in Python.
  • Explicit intelligent support for many 3rd-packages (for hidden imports, external data files, etc.), to make them work with !PyInstaller out-of-the-box (see Supported Packages).
  • Full single-file EGG support: required .egg files are automatically inspected for dependencies and bundled, and all the egg-specific features are supported at runtime as well (entry points, etc.).
  • Partial directory EGG support: required .egg directories are automatically inspected for dependencies and bundled, but egg-specific features will not work at runtime.
  • Automatic support for binary libraries used through ctypes (see Feature Ctypes Dependencies for details).
  • Support for automatic binary packing through the well-known UPX compressor.
  • Optional console mode (see standard output and standard error at runtime).
  • Windows-specific features:
    • Support for code-signing executables (see Recipe Win Code Signing for details).
    • Full automatic support for CRTs: no need to manually distribute MSVCR*.DLL, redist installers, manifests, or anything else; true one-file applications that work everywhere!
    • Selectable executable icon.
    • Fully configurable version resource section and manifests in executable.
    • Configurable .exe requirement running as administrator - UAC admin (PyInstaller 2.2+)
  • Mac-specific features:
    • Support for .app bundles.
    • Support for code-signing - created .app bundles can be signed by codesign (see Recipe OSX Code Signing for details, PyInstaller 2.2+).