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.

Metadata

Release files for pyinstaller 6.21.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyinstaller 6.21.0
File Size Uploaded
pyinstaller-6.21.0.tar.gz 4.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyinstaller 6.21.0
File
pyinstaller-6.21.0-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
pyinstaller-6.21.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
pyinstaller-6.21.0-py3-none-win32.whl Python 3 none Windows x86-32 Details
pyinstaller-6.21.0-py3-none-musllinux_1_1_x86_64.whl Python 3 none Linux musl 1.1+ x86-64 Details
pyinstaller-6.21.0-py3-none-musllinux_1_1_aarch64.whl Python 3 none Linux musl 1.1+ ARM64 Details
pyinstaller-6.21.0-py3-none-manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
pyinstaller-6.21.0-py3-none-manylinux2014_s390x.whl Python 3 none Linux glibc 2.17+ IBM System/390x Details
pyinstaller-6.21.0-py3-none-manylinux2014_ppc64le.whl Python 3 none Linux glibc 2.17+ PowerPC 64-le Details
pyinstaller-6.21.0-py3-none-manylinux2014_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details
pyinstaller-6.21.0-py3-none-manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
pyinstaller-6.21.0-py3-none-macosx_10_13_universal2.whl Python 3 none macOS 10.13+ universal2 (ARM64, x86-64) Details

Total release size: 14.5 MB

Release files / pyinstaller-6.21.0.tar.gz

Download URL pyinstaller-6.21.0.tar.gz
Size 4.1 MB
Tags Source
SHA-256 checksum
How to use checksums
bb9fab705983e393a2d1cac77d6972513057ad800215fd861dc15ff5272e98fd
BLAKE2b-256 checksum
How to use checksums
d54dec706c3fcf39e26888c35b39615ff4d5865d184069666c47492cff1fbe50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyinstaller-6.21.0-py3-none-win_arm64.whl

Download URL pyinstaller-6.21.0-py3-none-win_arm64.whl
Size 1.3 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
f13c95c9c03fb567217135919f93815c305813126780b0ed6e0123cb8acaf025
BLAKE2b-256 checksum
How to use checksums
dc7521b51523ce8d96629b71311775a0a65f5f5a872124ab0de33e5c848f8bff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyinstaller-6.21.0-py3-none-win_amd64.whl

Download URL pyinstaller-6.21.0-py3-none-win_amd64.whl
Size 1.4 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
7fae06c494ce0ebfe6bd3055c0e409def884f63af2e3705d06bd431ad9237fc7
BLAKE2b-256 checksum
How to use checksums
c1faca1d7e5257dd8566a9dfc0dfb02f8a8075eeb53d4b2d3c579f1276759042
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyinstaller-6.21.0-py3-none-win32.whl

Download URL pyinstaller-6.21.0-py3-none-win32.whl
Size 1.3 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
c6b28d30d8fd99ce162ff3aab5013ed44dbfb747566b1f01b9bed7964d7c14e9
BLAKE2b-256 checksum
How to use checksums
c9761ce8a27ce62ba8cf3a87c9ce6d575610f4e55d7cb0123e7512fc3f4b921a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyinstaller-6.21.0-py3-none-musllinux_1_1_x86_64.whl

Download URL pyinstaller-6.21.0-py3-none-musllinux_1_1_x86_64.whl
Size 753.8 kB
Tags Linux musl 1.1+ x86-64 Python 3
SHA-256 checksum
How to use checksums
42395ec76df8e8120c36b13339d9db8cab83e316a12839ee303cc00fc941bb74
BLAKE2b-256 checksum
How to use checksums
518fc22df1f6837784ac349057ba693f08e7b1ca7a0e06f9c33c63bc6280007b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyinstaller-6.21.0-py3-none-musllinux_1_1_aarch64.whl

Download URL pyinstaller-6.21.0-py3-none-musllinux_1_1_aarch64.whl
Size 753.9 kB
Tags Linux musl 1.1+ ARM64 Python 3
SHA-256 checksum
How to use checksums
5fa56746c1e76f93634d018502301378a2d0c382553d37d8c3c34ff436c12dd1
BLAKE2b-256 checksum
How to use checksums
4b43d77779439d8c6c2e27a77bcfbd1d5cc0f568ebb611bb472b11af81b5f177
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyinstaller-6.21.0-py3-none-manylinux2014_x86_64.whl

Download URL pyinstaller-6.21.0-py3-none-manylinux2014_x86_64.whl
Size 754.8 kB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
605169523a6b5ace39f13dfbff21add9f2bc43df99c7daf9394fefb2c45e8b6f
BLAKE2b-256 checksum
How to use checksums
9f0951b8905714b733bac66dbc041a7821372d70d888d273ae474c4037d4202d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyinstaller-6.21.0-py3-none-manylinux2014_s390x.whl

Download URL pyinstaller-6.21.0-py3-none-manylinux2014_s390x.whl
Size 755.0 kB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
697532279f535ad572bda613db4f821540e235c7854ca6da4d3bf0373f4415ee
BLAKE2b-256 checksum
How to use checksums
ddd5ea7878cf9924ed30d946d8288777424e6d069d94f5bde56b4d0890069664
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyinstaller-6.21.0-py3-none-manylinux2014_ppc64le.whl

Download URL pyinstaller-6.21.0-py3-none-manylinux2014_ppc64le.whl
Size 759.2 kB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
4e3108b3f02384560da70e39b8bf22b0ad597d02bd68a40d76ea91c1cfa00cad
BLAKE2b-256 checksum
How to use checksums
8a13f0e48fbdfd1d05d948157121cea8b1b823dcb89efe6934b71fdd8bdb3f0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyinstaller-6.21.0-py3-none-manylinux2014_i686.whl

Download URL pyinstaller-6.21.0-py3-none-manylinux2014_i686.whl
Size 760.9 kB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
6b6374d652107dd4a2eeece903ff82bb4045bb5e1006c5a158a6dcdbefe84bf2
BLAKE2b-256 checksum
How to use checksums
3d8f88fff4e403873b1e22286911350e75ff00db014aa08e57045da9d4328993
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyinstaller-6.21.0-py3-none-manylinux2014_aarch64.whl

Download URL pyinstaller-6.21.0-py3-none-manylinux2014_aarch64.whl
Size 748.5 kB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
7071d4b094d5b40deeef5fa3d3b98a1b846087f7562b49209663d5f9281fe251
BLAKE2b-256 checksum
How to use checksums
3083b591295c352ef464c50b4c6ffff1c4f771d875c9e833f578d1b9f564f6b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / pyinstaller-6.21.0-py3-none-macosx_10_13_universal2.whl

Download URL pyinstaller-6.21.0-py3-none-macosx_10_13_universal2.whl
Size 1.1 MB
Tags Python 3 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
327d132389f37912609e01be62810cf96b5aa95b613903e4b8692e0d12fb0eda
BLAKE2b-256 checksum
How to use checksums
0c4a53cf98bf66daed012dc9cd78c8203f19a675d696f2fc12afcf8c5049a0e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

6.21.0 This release

12 release files

6.7.0

12 release files

6.6.0

12 release files

6.4.0

12 release files

6.3.0

12 release files

6.2.0

12 release files

6.1.0

12 release files

6.0.0

12 release files

5.9.0

12 release files

5.8.0

12 release files

5.6.2

11 release files

5.6.1

11 release files

5.6

11 release files

5.5

11 release files

5.4.1

11 release files

5.4

11 release files

5.3

11 release files

5.2

11 release files

5.1

11 release files

5.0.1

11 release files

5.0

11 release files

4.10

11 release files

4.9

11 release files

4.8

11 release files

4.7

9 release files

4.6

9 release files

4.5.1

7 release files

4.5

6 release files

4.4

7 release files

4.3

1 release file

4.2

1 release file

4.1

1 release file

4.0

1 release file

3.6

1 release file

3.5

1 release file

3.4

1 release file

3.3.1

1 release file

3.3

1 release file

3.2.1

1 release file

3.2

2 release files

3.1.1

2 release files

3.1

1 release file

3.0

1 release file

2.1

2 release files

2.0

2 release files

1.5.1

1.5

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page