Skip to main content
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.8-3.15.

  • 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 third-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.8-3.15. 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.16.

  • Windows (32-bit/64-bit/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.

Download files

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

Source Distribution

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

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyinstaller-6.22.0-py3-none-win_arm64.whl (1.4 MB view details)

Uploaded Python 3Windows ARM64

pyinstaller-6.22.0-py3-none-win_amd64.whl (1.4 MB view details)

Uploaded Python 3Windows x86-64

pyinstaller-6.22.0-py3-none-win32.whl (1.3 MB view details)

Uploaded Python 3Windows x86

pyinstaller-6.22.0-py3-none-musllinux_1_1_x86_64.whl (758.1 kB view details)

Uploaded Python 3musllinux: musl 1.1+ x86-64

pyinstaller-6.22.0-py3-none-musllinux_1_1_aarch64.whl (758.6 kB view details)

Uploaded Python 3musllinux: musl 1.1+ ARM64

pyinstaller-6.22.0-py3-none-manylinux2014_x86_64.whl (759.1 kB view details)

Uploaded Python 3

pyinstaller-6.22.0-py3-none-manylinux2014_s390x.whl (759.2 kB view details)

Uploaded Python 3

pyinstaller-6.22.0-py3-none-manylinux2014_ppc64le.whl (764.1 kB view details)

Uploaded Python 3

pyinstaller-6.22.0-py3-none-manylinux2014_i686.whl (765.5 kB view details)

Uploaded Python 3

pyinstaller-6.22.0-py3-none-manylinux2014_aarch64.whl (752.8 kB view details)

Uploaded Python 3

pyinstaller-6.22.0-py3-none-macosx_10_13_universal2.whl (1.1 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-6.22.0.tar.gz
Algorithm Hash digest
SHA256 8b0166fff4583b374bbe7fa044bf03ddc33cab0f792a665807d96048e63f060e
MD5 916c6486651d5891aef8702069e1170c
BLAKE2b-256 0503669d06735cf57d7e2e5dfc3c2e1643554b34c559eff21449c58172ca0335

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 b1233da63926be213cdfbfbb314735bc7762136ed772b1082e1b0a2d7ed896b5
MD5 7f7718f84bc0efc699df14c624f23e9a
BLAKE2b-256 479a71fbfdeffc60107c8256436ea62eb39dd35266164f721091242924363747

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-6.22.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.3

File hashes

Hashes for pyinstaller-6.22.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6e5f3656de100954bf5db25536c43e097e46d482843a96d03a0852bf266e4853
MD5 b4fe97e668a9eef3031e8c11daeffccc
BLAKE2b-256 3aa70ea60e966a0da82961ecba80177627fae28fdda5127993281db479ee46fc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-6.22.0-py3-none-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.3

File hashes

Hashes for pyinstaller-6.22.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 6f527c1345d5010682587aebc2f0c1cc34a9b1f200424969c7bfda723cddc074
MD5 8f2b18fca84a1a0d005a182fff4f8170
BLAKE2b-256 b666f7de05fa65b141cbd83bf61f56730b3f5249820a4de026e11feadffca3c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.0-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 81dc305c16510c1f9ead6d115b66f381e3d3453ecb96653099c51aa3050420d1
MD5 f3dd8ebc08042a4908d2cdd0c021c90a
BLAKE2b-256 3cba3c5f8cbe3686f8080eadadee10a0da4c7af3eaff72998165d5f5174f5a40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.0-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 7885de3c830356b0990b27fe164f2b008fb4a18560bac884cf33985f61469f44
MD5 0e09e042fef6e60a30ce784f71721725
BLAKE2b-256 f8b0300a00798920d5e8e52f71fb0ceb2955a71c24814eaf6c086aeb95944049

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b07ac9fd1d661ae4d0af6752c3941e4e5576a16cfe7e2d6504a32d57e17d0acc
MD5 0bdaba151d9e115ca6ae7098d3f9582d
BLAKE2b-256 eaaa3733a6f590075c8a6678072480ee22f7b0237f7952b2c1521d5aafa15514

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.0-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e6859e80b9c7dccb8a1687c5ed4644a722b370c2aa13e8a9ca5ebf5f9bb842ce
MD5 b60520e0a799a3d3ece0af658bd37188
BLAKE2b-256 451792cb544e29ad867bcf5a06efd63dcf93af7c662f2121333b99409615b50b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.0-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 0a20c37761851100f422ec261f513f46d8e57100ea22886b9ff7a6c346104bd8
MD5 e1980116ff4c82150fe6e965da1067da
BLAKE2b-256 963624af3e59ca090ae1c0ba9daaeaa10125e99b767df5e3ab06384b516ff1e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.0-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f6c750c8ae999cc5520ddbce4263ac3ece96db04ba359ef20acacd81bccc201b
MD5 5496e3079418a20f5122a967b1f5c081
BLAKE2b-256 b945810aee0ad8c137667f2685783cde14c8517357ba08e1c54599ba77547578

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f92f78a9c463b884d57f90c7459c0cb263ccd26a499356bbfac7a5f41fd5b93f
MD5 91cffd8c3c864c610f1d057ee7c2d11e
BLAKE2b-256 17d0b7874153bd034fcfe0f47abe1140b49d436e262a3ad18cd52ba86be6358c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.0-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 d7c7c5b149f7f9b37585b37e2376f774038b6a5633ba34db0de2698f75391e13
MD5 bdd2cdafdb0161135866c09d983ca8d9
BLAKE2b-256 dac7abe1ca65ab55e615961df1b978b997129a8488ab9dc0931dc7664bdc4c99

See more details on using hashes here.

Supported by

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