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

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-4.9.tar.gz (2.7 MB view details)

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows x86-64

pyinstaller-4.9-py3-none-win32.whl (1.9 MB view details)

Uploaded Python 3 Windows x86

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

Uploaded Python 3 musllinux: musl 1.1+ x86-64

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

Uploaded Python 3 musllinux: musl 1.1+ ARM64

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

File metadata

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

File hashes

Hashes for pyinstaller-4.9.tar.gz
Algorithm Hash digest
SHA256 75a180a658871bc41f9cf94b6f90ffa54e98f5d6a7cdb02d7530f0360afe24f9
MD5 2503a689544b324e6952cec1e9cbec1d
BLAKE2b-256 4788cbc8ee5a300988e67f54f0366fd4d74a01f24caff75b5dd5139c0c6223f3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.9-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/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

File hashes

Hashes for pyinstaller-4.9-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bec57b3b2b6178907255557ec0fc4b5ce5a0474013414cdadea853205c74ed26
MD5 0f1a15dc77e66ee0090507968b0af33b
BLAKE2b-256 79c2f3181ed90829ab74e63e14b98a9806a23c69d61e02562d99b8313f16d270

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-4.9-py3-none-win32.whl
Algorithm Hash digest
SHA256 ec3ca331d565ffca1b6470c5aaf798885a03708c3d0b15c1b19009126f84c1d4
MD5 e11fb2965056b741906253f6580d5f65
BLAKE2b-256 fa108e0f3e38413a8d8b1f4f38759db12991d28bc6e97035ff55beed7209857f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.9-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/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

File hashes

Hashes for pyinstaller-4.9-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 59372b950d176fdc5ecea29719a8ab3f194b73a15b7f9875ac2a1de9a3daf5ed
MD5 4c8cf56596bf3606c0e8d32eedb13eb5
BLAKE2b-256 00895fce97d15a2408a85b46cfae8895f39d75fd95ad9c95e99c84ac3b83d4a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.9-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/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

File hashes

Hashes for pyinstaller-4.9-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 ebeb87cdbadb2b4e8f991ffd9945ebd4fb3a7303180e63682c3e1ce01b3fdd22
MD5 24605d28bc509c19b214ef63ebb5a2b5
BLAKE2b-256 f3c44279496cd5588b7089958fcee49b39af429246a5b7cfa1a2847fe1896a45

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-4.9-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5f1a94150315ea75bf3501be6c8476d65a7209580bb662da06dbdbc4454f375
MD5 27a24b95ae67be33e53b6d6fc96f66d8
BLAKE2b-256 834a7b9eca3c9ded03a285a0044f3fb18d85e80819da62249888ecfac5a5df46

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-4.9-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 7f46ab11ec986e4c525b93251063144e12d432a132dbc0070e3030e34c76537a
MD5 de1f928e8f8d6b98e86d960d85618af9
BLAKE2b-256 4463654623a8c1cc345f2e75eff058ff1ac649138861751198ba1391bbabe08c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-4.9-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 62c97cbbdbee30974d607eb1de9afb081eb3adba787c203b00438e21027b829b
MD5 5f4fd94a43de9ebfaff3157ba4ceef3f
BLAKE2b-256 d2cc19334924f3781e43a659ff2c50ecd24dd31d6806fa1badf54f1114e5234d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-4.9-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a0b988cfc197d40e3d773b3aa1c7d3e918fc0933b4c15ec3fc5d156f222d82cb
MD5 9da369012eb6dd0292889c89f104700f
BLAKE2b-256 f14e06742c535185405449f75a19a310840f78ea670d475c578b7999be64752d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-4.9-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 24035eb9fffa2e3e288b4c1c9710043819efc7203cae5c8c573bec16f4a8e98f
MD5 12cc7851b58b937f09885661fff073f2
BLAKE2b-256 1857a78a4a8650041a5aa291062a72e29378e8f1e7bd077b23c7925ffe90f201

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.9-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/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

File hashes

Hashes for pyinstaller-4.9-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 e2f165cea4470ce8a8349112cd78f48a61413805adc17792a91997a11cfe1d80
MD5 f8ee868d53fba115e608903365ac580c
BLAKE2b-256 014e4594bbe47b74b81bb554560e67ebc89f4c4cbeac0dcac6565f7291605941

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