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/en/v4.9

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, Mac OS X, 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.6-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 OS X.

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

  • Mac OS X (64bit):

  • Mac OS X 10.13 (High Sierra) 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 4.9

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

Built distributions (wheels)

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

Total release size: 18.7 MB

Release files / pyinstaller-4.9.tar.gz

Download URL pyinstaller-4.9.tar.gz
Size 2.7 MB
Tags Source
SHA-256 checksum
How to use checksums
75a180a658871bc41f9cf94b6f90ffa54e98f5d6a7cdb02d7530f0360afe24f9
BLAKE2b-256 checksum
How to use checksums
4788cbc8ee5a300988e67f54f0366fd4d74a01f24caff75b5dd5139c0c6223f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

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

Download URL pyinstaller-4.9-py3-none-win_amd64.whl
Size 2.0 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
bec57b3b2b6178907255557ec0fc4b5ce5a0474013414cdadea853205c74ed26
BLAKE2b-256 checksum
How to use checksums
79c2f3181ed90829ab74e63e14b98a9806a23c69d61e02562d99b8313f16d270
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

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

Download URL pyinstaller-4.9-py3-none-win32.whl
Size 1.9 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
ec3ca331d565ffca1b6470c5aaf798885a03708c3d0b15c1b19009126f84c1d4
BLAKE2b-256 checksum
How to use checksums
fa108e0f3e38413a8d8b1f4f38759db12991d28bc6e97035ff55beed7209857f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

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

Download URL pyinstaller-4.9-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
59372b950d176fdc5ecea29719a8ab3f194b73a15b7f9875ac2a1de9a3daf5ed
BLAKE2b-256 checksum
How to use checksums
00895fce97d15a2408a85b46cfae8895f39d75fd95ad9c95e99c84ac3b83d4a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

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

Download URL pyinstaller-4.9-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
ebeb87cdbadb2b4e8f991ffd9945ebd4fb3a7303180e63682c3e1ce01b3fdd22
BLAKE2b-256 checksum
How to use checksums
f3c44279496cd5588b7089958fcee49b39af429246a5b7cfa1a2847fe1896a45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

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

Download URL pyinstaller-4.9-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
b5f1a94150315ea75bf3501be6c8476d65a7209580bb662da06dbdbc4454f375
BLAKE2b-256 checksum
How to use checksums
834a7b9eca3c9ded03a285a0044f3fb18d85e80819da62249888ecfac5a5df46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

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

Download URL pyinstaller-4.9-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
7f46ab11ec986e4c525b93251063144e12d432a132dbc0070e3030e34c76537a
BLAKE2b-256 checksum
How to use checksums
4463654623a8c1cc345f2e75eff058ff1ac649138861751198ba1391bbabe08c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

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

Download URL pyinstaller-4.9-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
62c97cbbdbee30974d607eb1de9afb081eb3adba787c203b00438e21027b829b
BLAKE2b-256 checksum
How to use checksums
d2cc19334924f3781e43a659ff2c50ecd24dd31d6806fa1badf54f1114e5234d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

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

Download URL pyinstaller-4.9-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
a0b988cfc197d40e3d773b3aa1c7d3e918fc0933b4c15ec3fc5d156f222d82cb
BLAKE2b-256 checksum
How to use checksums
f14e06742c535185405449f75a19a310840f78ea670d475c578b7999be64752d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

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

Download URL pyinstaller-4.9-py3-none-manylinux2014_aarch64.whl
Size 1.5 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
24035eb9fffa2e3e288b4c1c9710043819efc7203cae5c8c573bec16f4a8e98f
BLAKE2b-256 checksum
How to use checksums
1857a78a4a8650041a5aa291062a72e29378e8f1e7bd077b23c7925ffe90f201
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.9

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

Download URL pyinstaller-4.9-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
e2f165cea4470ce8a8349112cd78f48a61413805adc17792a91997a11cfe1d80
BLAKE2b-256 checksum
How to use checksums
014e4594bbe47b74b81bb554560e67ebc89f4c4cbeac0dcac6565f7291605941
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.25.1 requests-toolbelt/0.9.1 urllib3/1.26.5 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 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

5.0.1

11 release files

5.0

11 release files

4.10

11 release files

This release

4.9 This release

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