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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.1+ x86-64

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

Uploaded Python 3musllinux: musl 1.1+ ARM64

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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3

pyinstaller-6.22.1-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.1.tar.gz.

File metadata

  • Download URL: pyinstaller-6.22.1.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.1.tar.gz
Algorithm Hash digest
SHA256 4e7ed495fccb9974d47cf72ef8cffc92afa05d60bc265c5585a68f3d229ca8d1
MD5 47574c0633d0d5659e136ffcb17893ff
BLAKE2b-256 c32811937d2d139139d5645cbaf905f7dcaa9c4929bd7b740ad9157af730fd39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-6.22.1-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.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 bb7a405ef0fbea9b20b7312484d2766d2aa157026a0406a8e7ce63a573748eae
MD5 79dbe875c191719f81d4faa22cd814d2
BLAKE2b-256 79d3863ba7ee499664a367d5095b11d5565f8576b87ff873b81a85fc4eb95d2a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-6.22.1-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.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9fe5d028023073b63c3e396e145c68a9c3382ab59889c749c4c248126d313945
MD5 4ccfdd584fcb0a772197eb798da253ed
BLAKE2b-256 f177894e6815f61022621661a32806ea6e41935ab6171df0408fc4502a9b772e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-6.22.1-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.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 c5d7859b59c17f5c28973eb683e2236abb7a6eed1a7f354dc7f65ee3a7dff8ab
MD5 93cb5a2af45f3e316a2f1504dac61206
BLAKE2b-256 f79eb53c56c5ace1a5cf8f780067c9f10036cc7f184792e4661a06f68087538f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.1-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 bf5f4634b18add9381caa73bd1656a1f0736839aa41ca750fbd511116d5ae2ca
MD5 5aab6b2c7ff13fe9026e3887fd7aa2ce
BLAKE2b-256 a1ecf4ca5f2dd787a445d5b57010ad74a83acfd0fff9d6ef40984b05a995a28f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.1-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ff3c51c1a3b793d1917f75d0f5f31ef8bd889c0accc8478d604bbcc363fcb74b
MD5 80d241fefef0426aadd1bf0672b7980a
BLAKE2b-256 540d0490244f31101e671d75ef0499dcd079d6ea79a5242b1b33cca32606c16a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 10d009ac9ddf17b57dbfe22a453363a02be4cb0d5bd8a119ba59ef530b936296
MD5 6d1bcafd9959fc7402181a1eaccb56e7
BLAKE2b-256 3c200efa9067556893788e59cfe077edbd0ef3af95d06ce020b42795697d9afc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.1-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 3b654721a9fa13abdd8a3a8e266debf750a6f50115d17addc54e3269dc944e75
MD5 eb49d3802876e0c1875cf2aa9a297cb8
BLAKE2b-256 3b79ecf886650e5caafd1958f07913bf23838a5188f9429599d125ac0e837fdc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.1-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bc964609e73f32f79b4c967d1c29a05f913629fcf54b3752ec6ec82bf17cffdd
MD5 d4de198e3d6f8f47aee9ce835a37ff7c
BLAKE2b-256 a9ab49a3ad7987e68215f47acbb68352d519cb93934212d1f7d1d2f9ad49afe6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.1-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1df884760a6efc4cc9bdcd48899f1382c072ab499bb16ed0b03606f8f10380c6
MD5 3700b860a4fe25e66766b6e72f74018e
BLAKE2b-256 0d923d425e8342b57ac0e856e5abba8d52a4c10227d8d364d342e9799a36a855

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0f257d6329d90def6b96f3ad9b601f4e10e549017d2ad09e730f4a9741b42138
MD5 222766a9354e9fe0b27be6d22b3ee3eb
BLAKE2b-256 76ef7bcf8c48fbd413f5d83e618c376029625b1db5af8e60b198dedf17af6b9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.22.1-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 d519a5549bf560407a9cffa8547f278e79c1093dc1cade6d9658c67b650d66c4
MD5 e8ee3ac98a096a39f7a9bd1934fb2c77
BLAKE2b-256 5b5182e66bc31b42f4ccb9bfb8a54c7b63e586a8f4668d1b5569c0ebf7810cf3

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