Skip to main content

PyInstaller bundles a Python application and all its dependencies into a single package.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyinstaller-5.0.1.tar.gz (2.8 MB view details)

Uploaded Source

Built Distributions

pyinstaller-5.0.1-py3-none-win_amd64.whl (2.0 MB view details)

Uploaded Python 3 Windows x86-64

pyinstaller-5.0.1-py3-none-win32.whl (2.0 MB view details)

Uploaded Python 3 Windows x86

pyinstaller-5.0.1-py3-none-musllinux_1_1_x86_64.whl (1.5 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

pyinstaller-5.0.1-py3-none-musllinux_1_1_aarch64.whl (1.5 MB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

pyinstaller-5.0.1-py3-none-macosx_10_13_universal2.whl (1.6 MB view details)

Uploaded Python 3 macOS 10.13+ universal2 (ARM64, x86-64)

File details

Details for the file pyinstaller-5.0.1.tar.gz.

File metadata

  • Download URL: pyinstaller-5.0.1.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for pyinstaller-5.0.1.tar.gz
Algorithm Hash digest
SHA256 25f5f758b005c66471af0d452c90ec328179116afe9d5bd82f5fb06d9416267b
MD5 765f5ef2465193f0bbdf3d95b2412b18
BLAKE2b-256 ad0982d3f066eddb9ab3cbed8284a0bda84a93806ff2c44536474841a98ae0e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.0.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using 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

File hashes

Hashes for pyinstaller-5.0.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bf6148a6eb005e1106d57271681cd7799b56f7b41efa6c78ce4d375fc1cd829e
MD5 e7bd3bec69b2a27a5235719f57df4455
BLAKE2b-256 07636edf3579f9f09289e2e38d217f19d41467d5cd912b7cff86429b5a08239d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.0.1-py3-none-win32.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3, Windows x86
  • Uploaded using 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

File hashes

Hashes for pyinstaller-5.0.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 3ac6f8bfe65666650bf37671d6661775692b33711a7c5e664ac5bb577100f120
MD5 6b8fbf287fa897e5dcebef6050eda7cf
BLAKE2b-256 df0ae8d0c3421f1f9cde9d833796eae61c4c83131e3c1066ee8ffd0301299e50

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.0.1-py3-none-musllinux_1_1_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3, musllinux: musl 1.1+ x86-64
  • Uploaded using 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

File hashes

Hashes for pyinstaller-5.0.1-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 219e249c2bbd2ec77ba008adbc46832ddd761554167bf5f9c86e861f8ddd4589
MD5 4a59fa1d4993aa74c8a4041b660d24a1
BLAKE2b-256 448122d52421d924cdabbf854658fb97f66df39b2e56b3173dfb56e0f067168c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.0.1-py3-none-musllinux_1_1_aarch64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3, musllinux: musl 1.1+ ARM64
  • Uploaded using 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

File hashes

Hashes for pyinstaller-5.0.1-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d3a587f5adb28e299781d99d6e781e3d240f6f5ecaad5b5f484ea196801476f6
MD5 954b805f64538f2a782376430818609c
BLAKE2b-256 3ee7325a23078924cec886dc967642ca7a61570e473c925d5e6f30ad4a6403cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.0.1-py3-none-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for pyinstaller-5.0.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8384871a2e6605b49ef3293aa8b365bbdfe9aac6ff80e3743e5fe4cbd46fa62
MD5 9033e8a5048f5bc3b745b18bebbb4855
BLAKE2b-256 ce980a3ee065df365894fe647ffa0800770bce3ee81af15d7f3b3e963eb68a1d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.0.1-py3-none-manylinux2014_s390x.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for pyinstaller-5.0.1-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a7698ca54b1afc5ff0ef0a881fa68a878e3f12e7f1a3bade9bf198af34d15222
MD5 bb8ca0e00ca1aecb43596a7c575a577d
BLAKE2b-256 76cff3f1c854b4686e390c3941d9b205a929459592d8f54b5d94782061814c73

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.0.1-py3-none-manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for pyinstaller-5.0.1-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7b4fa281373676728e503447e5eb2a101208d0d41be62b540dcfbe073e26e60f
MD5 1851edb01af0bb4bb5da2ff7ee3adf96
BLAKE2b-256 c5fac31715de05cff88c9e0c152718f09a02e6992b4445afbae667cb63f3d5c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.0.1-py3-none-manylinux2014_i686.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for pyinstaller-5.0.1-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 943d22969ad7487ff430810e733f06e6efddc1af1cbe6453ec44dffc39f3a1f5
MD5 96057e5b1418a0c99273d625afac419f
BLAKE2b-256 0847cd89c721bfa0ca341554c988b46f3772ecbe4d8fac8fc4d038b50ee988dd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.0.1-py3-none-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for pyinstaller-5.0.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 100ba42f5885e1044e45a9a1d6fa9bb17be49d8731a34ebde39519a49095d509
MD5 b77e260d793eb3a2d96f70bab82ed4b2
BLAKE2b-256 15f05c4d8b13f7c7e04102b001d883a1aeaa639e3a3d6c0591ae628083a0cb36

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.0.1-py3-none-macosx_10_13_universal2.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3, macOS 10.13+ universal2 (ARM64, x86-64)
  • Uploaded using 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

File hashes

Hashes for pyinstaller-5.0.1-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 0dc19ccf97584fff1766dcaf9c0425e4cd714ccc41c9f4d1222cab8c756624e4
MD5 a8f39755e7e4658e91f96a6c3ed305a4
BLAKE2b-256 59a52dcf54bf800278264bea8276beb8037e601509257aa28ec05a6e305bfb57

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page