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.2.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.2-py3-none-win_arm64.whl (1.4 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

pyinstaller-6.22.2-py3-none-musllinux_1_1_x86_64.whl (761.1 kB view details)

Uploaded Python 3musllinux: musl 1.1+ x86-64

pyinstaller-6.22.2-py3-none-musllinux_1_1_aarch64.whl (761.7 kB view details)

Uploaded Python 3musllinux: musl 1.1+ ARM64

pyinstaller-6.22.2-py3-none-manylinux2014_x86_64.whl (762.2 kB view details)

Uploaded Python 3

pyinstaller-6.22.2-py3-none-manylinux2014_s390x.whl (762.1 kB view details)

Uploaded Python 3

pyinstaller-6.22.2-py3-none-manylinux2014_ppc64le.whl (767.4 kB view details)

Uploaded Python 3

pyinstaller-6.22.2-py3-none-manylinux2014_i686.whl (768.9 kB view details)

Uploaded Python 3

pyinstaller-6.22.2-py3-none-manylinux2014_aarch64.whl (755.7 kB view details)

Uploaded Python 3

pyinstaller-6.22.2-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.2.tar.gz.

File metadata

  • Download URL: pyinstaller-6.22.2.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.2.tar.gz
Algorithm Hash digest
SHA256 89b65a3ad07d9dd5832253e37bc45f31872d10d7f9d5c9fd0fdd6088a83829dd
MD5 de91199e3ca8d8f9d0cd2f36e12dd8cc
BLAKE2b-256 cc2b836d9def811c02522e0921d8b8cdf0c16b0545a216e97e71041758057859

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-6.22.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 afb6f9a95d19b6dcd3a7decc40d9adb6ba9c4f8802ddd6c972dfb552953f384e
MD5 ac5c32c2a882ae4cd4302c91596bb700
BLAKE2b-256 fb1b9a3062cc34c939f694d4262c4754681f6ffe853c21c124209ad2d08b8e84

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-6.22.2-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.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9b990fa6bbe143572f06644a984ad0d7aa2e2ccc6929d4916031343a5888e9a7
MD5 7f13fdacec88a0e4d9427544c04bc7ac
BLAKE2b-256 3f538ba1d0f6159b490f700eac6161a4be5f0d4672608a6dae9fd73679f183ee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-6.22.2-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.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 9a078877caa3920558a3242d0a7019fe5b825cff4b65ed380c7d1e1bd200ddd9
MD5 bc3a66860cb61cd3111a9f6b3c4dca71
BLAKE2b-256 ba2cf91b63fd01422111ac04e3b9bf61c039da5a3292acb4fe5248905f0be688

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.2-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8c2c4b14caad38c1f3df8e9bf5276fc265e27fe8b4180cab4a37864288427bc0
MD5 57a3953ca89e94e4e33bf501a10cfcf2
BLAKE2b-256 d34e28b6094dcbd1e1bbb868daf4f8752999a20c1020ab64569232be42af2be8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.2-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 0260eaad6be3f6fbc1affffe6dc7b8e5b636dbca51b463224daba971610b6fc1
MD5 7fcd148c5fe379731bae84777605e9b8
BLAKE2b-256 6c9b0af69d93dfad2e3d590a5de5828d5bcd903747c0224bd9560ab476904dfe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.2-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9622686ecc5d5fa492fe6cde29d47df9dd41138cff8177be9f901ca3260f2096
MD5 847934ca9be7b6e6ca232584b1c7548d
BLAKE2b-256 2b07b304ff3f5f8333778065e3658b604b0e108cd934b920f3fbab825a0dd5b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.2-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 7bee432404eca5dc3ef37c36811c266561b03988f6d3e70ab0fa5352dd5de9e4
MD5 0ecceb07005781f097a04b05bd7739f1
BLAKE2b-256 5edbf24a21af2f87ce1df4e07fdad95eec65ef9f284267a7c1e5eeea40f49aa4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.2-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 06d7b3827a8049db4a2d47e3ec4ae2f69a1041577d8833b8f169745cde573ab4
MD5 85c0f5603ebf8b27a799bcec1326387b
BLAKE2b-256 cfe2dbfea6a58b68acf644f7193b11d570476d6ffaed57381b6d1dd9e898a971

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.2-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 becb47ad78272bede87acf2ed830d7545a8f65ab11d06a68fe2b99ba1afaac6d
MD5 abfc8745d4cca10a2434ef5477ed91ba
BLAKE2b-256 912b6c11e4d5a76e716ea68da1946ab706a4bdf6d8e68b0e1dea314366d046a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.2-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f5ccb847451df4207bce18bf53a57b124c9bb4e7e4bad08c5ecc627bcf00b28c
MD5 8b02047d2a94d223cf5085bc49682211
BLAKE2b-256 74222d865896782cbb41e2388c7314207c17a98acdcc1b8e5eef668873505c9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.2-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 ebd1b1ca932d7cf25d7366ce691aaf79a5ff9425811ed7328b5116e4471b6d6d
MD5 7f79ffcb6212d4df7c62018a9afd4976
BLAKE2b-256 573908cd53632276de70426e7c273820277a48253fee397b4048301ec03c3566

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 Sentry Error logging StatusPage Status page