Skip to main content

PyInstaller bundles a Python application and all its dependencies into a single package.

Project description

PyPI PyPI - Python Version Read the Docs (version) PyPI - Downloads

PyInstaller bundles a Python application and all its dependencies into a single package. The user can run the packaged app without installing a Python interpreter or any modules.

Documentation:

https://pyinstaller.org/

Code:

https://github.com/pyinstaller/pyinstaller

PyInstaller reads a Python script written by you. It analyzes your code to discover every other module and library your script needs in order to execute. Then it collects copies of all those files – including the active Python interpreter! – and puts them with your script in a single folder, or optionally in a single executable file.

PyInstaller is tested against Windows, macOS, and GNU/Linux. However, it is not a cross-compiler: to make a Windows app you run PyInstaller in Windows; to make a GNU/Linux app you run it in GNU/Linux, etc. PyInstaller has been used successfully with AIX, Solaris, FreeBSD and OpenBSD, but is not tested against them as part of the continuous integration tests.

Main Advantages

  • Works out-of-the-box with any Python version 3.7-3.12.

  • Fully multi-platform, and uses the OS support to load the dynamic libraries, thus ensuring full compatibility.

  • Correctly bundles the major Python packages such as numpy, PyQt5, PySide2, PyQt6, PySide6, wxPython, matplotlib and others out-of-the-box.

  • Compatible with many 3rd-party packages out-of-the-box. (All the required tricks to make external packages work are already integrated.)

  • Works with code signing on macOS.

  • Bundles MS Visual C++ DLLs on Windows.

Installation

PyInstaller is available on PyPI. You can install it through pip:

pip install pyinstaller

Requirements and Tested Platforms

  • Python:
    • 3.7-3.12. Note that Python 3.10.0 contains a bug making it unsupportable by PyInstaller. PyInstaller will also not work with beta releases of Python 3.13.

  • Windows (32bit/64bit/ARM64):
    • PyInstaller should work on Windows 7 or newer, but we only officially support Windows 8+.

    • Support for Python installed from the Windows store without using virtual environments requires PyInstaller 4.4 or later.

  • Linux:
    • GNU libc based distributions on architectures x86_64, aarch64, i686, ppc64le, s390x.

    • musl libc based distributions on architectures x86_64, aarch64.

    • ldd: Console application to print the shared libraries required by each program or shared library. This typically can be found in the distribution-package glibc or libc-bin.

    • objdump: Console application to display information from object files. This typically can be found in the distribution-package binutils.

    • objcopy: Console application to copy and translate object files. This typically can be found in the distribution-package binutils, too.

    • Raspberry Pi users on armv5-armv7 should add piwheels as an extra index url then pip install pyinstaller as usual.

  • macOS (x86_64 or arm64):
    • macOS 10.15 (Catalina) or newer.

    • Supports building universal2 applications provided that your installation of Python and all your dependencies are also compiled universal2.

Usage

Basic usage is very simple, just run it against your main script:

pyinstaller /path/to/yourscript.py

For more details, see the manual.

Untested Platforms

The following platforms have been contributed and any feedback or enhancements on these are welcome.

  • FreeBSD
    • ldd

  • Solaris
    • ldd

    • objdump

  • AIX
    • AIX 6.1 or newer. PyInstaller will not work with statically linked Python libraries.

    • ldd

  • Linux on any other libc implementation/architecture combination not listed above.

Before using any contributed platform, you need to build the PyInstaller bootloader. This will happen automatically when you pip install pyinstaller provided that you have an appropriate C compiler (typically either gcc or clang) and zlib’s development headers already installed.

Support

Changes in this Release

You can find a detailed list of changes in this release in the Changelog section of the manual.

Project details


Download files

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

Source Distribution

pyinstaller-5.13.1.tar.gz (4.1 MB view details)

Uploaded Source

Built Distributions

pyinstaller-5.13.1-py3-none-win_arm64.whl (1.2 MB view details)

Uploaded Python 3 Windows ARM64

pyinstaller-5.13.1-py3-none-win_amd64.whl (1.3 MB view details)

Uploaded Python 3 Windows x86-64

pyinstaller-5.13.1-py3-none-win32.whl (1.2 MB view details)

Uploaded Python 3 Windows x86

pyinstaller-5.13.1-py3-none-musllinux_1_1_x86_64.whl (661.3 kB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

pyinstaller-5.13.1-py3-none-musllinux_1_1_aarch64.whl (664.7 kB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

pyinstaller-5.13.1-py3-none-manylinux2014_i686.whl (664.6 kB view details)

Uploaded Python 3

pyinstaller-5.13.1-py3-none-macosx_10_13_universal2.whl (934.8 kB view details)

Uploaded Python 3 macOS 10.13+ universal2 (ARM64, x86-64)

File details

Details for the file pyinstaller-5.13.1.tar.gz.

File metadata

  • Download URL: pyinstaller-5.13.1.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for pyinstaller-5.13.1.tar.gz
Algorithm Hash digest
SHA256 a2e7a1d76a7ac26f1db849d691a374f2048b0e204233028d25d79a90ecd1fec8
MD5 ad7275336338fd083ddfbd9b7e22a9ef
BLAKE2b-256 21a7f3caf846fcba1a840074b843e948272393f4458e9a709a511ce7e43e8ed5

See more details on using hashes here.

File details

Details for the file pyinstaller-5.13.1-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for pyinstaller-5.13.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 78d1601a11475b95dceff6eaf0c9cd74d93e3f47b5ce4ad63cd76e7a369d3d04
MD5 71243775bc1f1ceb882bb748203f4da6
BLAKE2b-256 937d99a08ac845110388caacf4f104ed3b2d5fd9c5d917c69e01502a30d6ffb0

See more details on using hashes here.

File details

Details for the file pyinstaller-5.13.1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for pyinstaller-5.13.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b70ebc10811b30bbea4cf5b81fd1477db992c2614cf215edc987cda9c5468911
MD5 a1010e4b82c1cdf5a778626d79da70c6
BLAKE2b-256 5578f54dc3f30387b87248bc15acf5b804fed48d1e26b71e7f3400bd0487b51b

See more details on using hashes here.

File details

Details for the file pyinstaller-5.13.1-py3-none-win32.whl.

File metadata

  • Download URL: pyinstaller-5.13.1-py3-none-win32.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for pyinstaller-5.13.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 b8d4000af72bf72f8185d420cd0a0aee0961f03a5c3511dc3ff08cdaef0583de
MD5 29b3ac51eb39796029564ce03687a481
BLAKE2b-256 35b9adeba43bbc9053afff38220753c83374ce4449171e43ffa67b43c1db6ea7

See more details on using hashes here.

File details

Details for the file pyinstaller-5.13.1-py3-none-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyinstaller-5.13.1-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 aa609aca62edd8cdcf7740677a21525e6c23b5e9a8f821ec8a80c68947771b5d
MD5 0928619dcaa7fe901c9a280dbbca7447
BLAKE2b-256 b52fa78f069b7ad64150baa4796a5665259aa16a5a338463bc08de715bffeb0e

See more details on using hashes here.

File details

Details for the file pyinstaller-5.13.1-py3-none-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for pyinstaller-5.13.1-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 086e68aa1e72f6aa13b9d170a395755e2b194b8ab410caeed02d16b432410c8c
MD5 4432186507d223b37d4d5a24f8384c54
BLAKE2b-256 ada3265c35367f497026cded1dcdc7985b5dac890a656c7d567763309bc00ecf

See more details on using hashes here.

File details

Details for the file pyinstaller-5.13.1-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyinstaller-5.13.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e033218c8922f0342b6095fb444ecb3bc6747dfa58cac5eac2b985350f4b681e
MD5 85655abd386ede33c29631b6961af513
BLAKE2b-256 cc7ce4c263766b97f46da93616221348c29590104592e5985e5ad17fd6b68ad8

See more details on using hashes here.

File details

Details for the file pyinstaller-5.13.1-py3-none-manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for pyinstaller-5.13.1-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2519db3edec87d8c33924c2c4b7e176d8c1bbd9ba892d77efb67281925e621d6
MD5 27474364ca5fdfc9e6d2ee98f549e986
BLAKE2b-256 8d7516e3eb0cb957de2819ed90dc3832e916b14db1575a88aec9f457316e385e

See more details on using hashes here.

File details

Details for the file pyinstaller-5.13.1-py3-none-manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for pyinstaller-5.13.1-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5d801db3ceee58d01337473ea897e96e4bb21421a169dd7cf8716754617ff7fc
MD5 74975d9cb28df6bdf2ef2082b5ae8686
BLAKE2b-256 20a93dc0276e3fab70dc1b78aa87c4356cbb3a411c3a522a5a7c63ffd905c8e8

See more details on using hashes here.

File details

Details for the file pyinstaller-5.13.1-py3-none-manylinux2014_i686.whl.

File metadata

File hashes

Hashes for pyinstaller-5.13.1-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ad6e31a8f35a463c6140e4cf979859197edc9831a1039253408b0fe5eec274dc
MD5 5b29ae7f16428848ebb1a1aadfe291e3
BLAKE2b-256 57b2388ff0f49ef4f2553637a635f07cfd16da1ab2bafbc21e8f8e2aa09e6517

See more details on using hashes here.

File details

Details for the file pyinstaller-5.13.1-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pyinstaller-5.13.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 29341d2e86d5ce7df993e797ee96ef679041fc85376d31c35c7b714085a21299
MD5 1392f05bc3f23a51c1782491351d5ccd
BLAKE2b-256 2a87ee94da2a4f3ac310d4d04de9ff597e4d9863e117722ddd972b988e90b8c3

See more details on using hashes here.

File details

Details for the file pyinstaller-5.13.1-py3-none-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for pyinstaller-5.13.1-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 3c9cfe6d5d2f392d5d47389f6d377a8f225db460cdd01048b5a3de1d99c24ebe
MD5 941f9cbc6390c0e820afa2fbf5d5e4f3
BLAKE2b-256 8c871ed7c8db339ba2bcfb0c08c423d5cca78adc9d7860a92669b615e5a35ca3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page