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

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 Windows x86

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

Uploaded Python 3 musllinux: musl 1.1+ x86-64

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

Uploaded Python 3 musllinux: musl 1.1+ ARM64

pyinstaller-4.7-py3-none-manylinux2014_i686.whl (1.5 MB view details)

Uploaded Python 3

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

File metadata

  • Download URL: pyinstaller-4.7.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyinstaller-4.7.tar.gz
Algorithm Hash digest
SHA256 2c7f4810dc5272ec1b388a7f1ff6b56d38653c1b0c9ac2d9dd54fa06b590e372
MD5 e1518af66a37385c2bc99ddbc95186cb
BLAKE2b-256 00ca58dd68fee42490be1c86c9e912fc9ad0bf44c72edd882397ad11c21fbecb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.7-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.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyinstaller-4.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c8d3b4e64b0e6c1c837b5215077675796a7d95679245b40843343d647465fb69
MD5 19c5333c5e2d1544d47b1ba2d7699e34
BLAKE2b-256 da98ba0071620a2bd672cd98b398653517a296f988a8271d9d2f365a7922a51b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.7-py3-none-win32.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyinstaller-4.7-py3-none-win32.whl
Algorithm Hash digest
SHA256 7942ac8043e538422fe9c6733fe201e4d765d31ad13ff40bcc7b9bf4c2d0ad64
MD5 bb9e8b8692e6d686ee858e706dd9c07c
BLAKE2b-256 304be0aa4933e7f5c9820d5fe585fe98856d62a599f8be6cef25913b0eb3f165

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.7-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.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyinstaller-4.7-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ba410e9aadae61aa9172d56180ca381b3ad7abd721a31495db21cc82ede4003b
MD5 641778710b8fcd77415078db6e0cdefd
BLAKE2b-256 70512be0b9781e3569f631f24aed6f23b0ad6f03caa260c983286d51966f78e5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.7-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.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyinstaller-4.7-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 c766e1d643f8820fe70d12c3690911bc43556ae97e12885e2925fa43bc1e7649
MD5 b8d974e4c732031e6e80cdc4c978d81c
BLAKE2b-256 333eaa31fb95a13e3e72304265d35fac60aeeb6dd854560789bd5b46cf866f31

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.7-py3-none-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyinstaller-4.7-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03636feec822de1d23d9753054f0b1229fb23d58723ae796f41b1127fc54f572
MD5 f01c27f21fa6dca475ebca23aac9fd75
BLAKE2b-256 1e0f4b936e4b49d7523d3d0c7024e41b9ba3d208e33eae1c38433b9e11a218f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.7-py3-none-manylinux2014_i686.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyinstaller-4.7-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fea70754a8cdca04763d0cdbbb9b8b07854355232c8f512bc7211e2c07361c06
MD5 f099c0a76792238fed5866103d7a4b8e
BLAKE2b-256 0fee136f5f3ccb211eed99dcabe8f5728027bc86c3f8ff133d70a199a9ad8432

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.7-py3-none-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyinstaller-4.7-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5a130e2cf694975787026db1839b53c833b8d4922d850703c7076a06774cb6af
MD5 28c6f4f57ec5b1eda46d30f35fcb6453
BLAKE2b-256 6473550a84b35121c93ff2cb62374b1fe39776ecfe7e00c6b398c779f34f4fca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.7-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.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyinstaller-4.7-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 0f488407108dd4e0531576552514889b2d5620367c81a177dfbe1eb628ad7a8c
MD5 d319d59a6ac793e39864ae689a18d90d
BLAKE2b-256 44bf98039064262e9068754a46f20333e2758d321b0df18bafb80e5437999e27

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