Skip to main content

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.readthedocs.io/

Website:

http://www.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.10.

  • 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, Django, 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.)

  • Libraries like PyQt5, PySide2, wxPython, matplotlib or Django are fully supported, without having to handle plugins or external data files manually.

  • 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.10

  • tinyaes 1.0+ (only if using bytecode encryption). Instead of installing tinyaes, pip install pyinstaller[encryption] instead.

  • Windows (32bit/64bit):

  • 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.

  • GNU/Linux (32bit/64bit)

  • 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.

  • macOS (64bit):

  • macOS 10.15 (Catalina) or newer.

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

  • PowerPC GNU/Linux (Debian)

Before using any contributed platform, you need to build the PyInstaller bootloader, as we do not ship binary packages. Download PyInstaller source, and build the bootloader:

cd bootloader
python ./waf all

Then install PyInstaller:

python setup.py install

or simply use it directly from the source (pyinstaller.py).

Support

See http://www.pyinstaller.org/support.html for how to find help as well as for commercial support.

Changes in this Release

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

Release files for pyinstaller 5.0.1

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 5.0.1
File Size Uploaded
pyinstaller-5.0.1.tar.gz 2.8 MB Details

Built distributions (wheels)

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

Total release size: 19.1 MB

Release files / pyinstaller-5.0.1.tar.gz

Download URL pyinstaller-5.0.1.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
25f5f758b005c66471af0d452c90ec328179116afe9d5bd82f5fb06d9416267b
BLAKE2b-256 checksum
How to use checksums
ad0982d3f066eddb9ab3cbed8284a0bda84a93806ff2c44536474841a98ae0e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.1.dev1+gf543114 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

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

Download URL pyinstaller-5.0.1-py3-none-win_amd64.whl
Size 2.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
bf6148a6eb005e1106d57271681cd7799b56f7b41efa6c78ce4d375fc1cd829e
BLAKE2b-256 checksum
How to use checksums
07636edf3579f9f09289e2e38d217f19d41467d5cd912b7cff86429b5a08239d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.1.dev1+gf543114 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

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

Download URL pyinstaller-5.0.1-py3-none-win32.whl
Size 2.0 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
3ac6f8bfe65666650bf37671d6661775692b33711a7c5e664ac5bb577100f120
BLAKE2b-256 checksum
How to use checksums
df0ae8d0c3421f1f9cde9d833796eae61c4c83131e3c1066ee8ffd0301299e50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.1.dev1+gf543114 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

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

Download URL pyinstaller-5.0.1-py3-none-musllinux_1_1_x86_64.whl
Size 1.5 MB
Tags Linux musl 1.1+ x86-64 Python 3
SHA-256 checksum
How to use checksums
219e249c2bbd2ec77ba008adbc46832ddd761554167bf5f9c86e861f8ddd4589
BLAKE2b-256 checksum
How to use checksums
448122d52421d924cdabbf854658fb97f66df39b2e56b3173dfb56e0f067168c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.1.dev1+gf543114 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

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

Download URL pyinstaller-5.0.1-py3-none-musllinux_1_1_aarch64.whl
Size 1.5 MB
Tags Linux musl 1.1+ ARM64 Python 3
SHA-256 checksum
How to use checksums
d3a587f5adb28e299781d99d6e781e3d240f6f5ecaad5b5f484ea196801476f6
BLAKE2b-256 checksum
How to use checksums
3ee7325a23078924cec886dc967642ca7a61570e473c925d5e6f30ad4a6403cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.1.dev1+gf543114 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

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

Download URL pyinstaller-5.0.1-py3-none-manylinux2014_x86_64.whl
Size 1.5 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
d8384871a2e6605b49ef3293aa8b365bbdfe9aac6ff80e3743e5fe4cbd46fa62
BLAKE2b-256 checksum
How to use checksums
ce980a3ee065df365894fe647ffa0800770bce3ee81af15d7f3b3e963eb68a1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.1.dev1+gf543114 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

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

Download URL pyinstaller-5.0.1-py3-none-manylinux2014_s390x.whl
Size 1.5 MB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
a7698ca54b1afc5ff0ef0a881fa68a878e3f12e7f1a3bade9bf198af34d15222
BLAKE2b-256 checksum
How to use checksums
76cff3f1c854b4686e390c3941d9b205a929459592d8f54b5d94782061814c73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.1.dev1+gf543114 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

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

Download URL pyinstaller-5.0.1-py3-none-manylinux2014_ppc64le.whl
Size 1.5 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
7b4fa281373676728e503447e5eb2a101208d0d41be62b540dcfbe073e26e60f
BLAKE2b-256 checksum
How to use checksums
c5fac31715de05cff88c9e0c152718f09a02e6992b4445afbae667cb63f3d5c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.1.dev1+gf543114 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

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

Download URL pyinstaller-5.0.1-py3-none-manylinux2014_i686.whl
Size 1.5 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
943d22969ad7487ff430810e733f06e6efddc1af1cbe6453ec44dffc39f3a1f5
BLAKE2b-256 checksum
How to use checksums
0847cd89c721bfa0ca341554c988b46f3772ecbe4d8fac8fc4d038b50ee988dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.1.dev1+gf543114 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

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

Download URL pyinstaller-5.0.1-py3-none-manylinux2014_aarch64.whl
Size 1.5 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
100ba42f5885e1044e45a9a1d6fa9bb17be49d8731a34ebde39519a49095d509
BLAKE2b-256 checksum
How to use checksums
15f05c4d8b13f7c7e04102b001d883a1aeaa639e3a3d6c0591ae628083a0cb36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.1.dev1+gf543114 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

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

Download URL pyinstaller-5.0.1-py3-none-macosx_10_13_universal2.whl
Size 1.6 MB
Tags Python 3 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
0dc19ccf97584fff1766dcaf9c0425e4cd714ccc41c9f4d1222cab8c756624e4
BLAKE2b-256 checksum
How to use checksums
59a52dcf54bf800278264bea8276beb8037e601509257aa28ec05a6e305bfb57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/0.1.dev1+gf543114 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.9

Release history Release notifications | RSS feed

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

This release

5.0.1 This release

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