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

Uploaded Source

Built Distributions

pyinstaller-4.6-py3-none-win_amd64.whl (1.9 MB view details)

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 Windows x86

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

Uploaded Python 3 musllinux: musl 1.1+ x86-64

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

Uploaded Python 3 musllinux: musl 1.1+ ARM64

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

Uploaded Python 3

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

File metadata

  • Download URL: pyinstaller-4.6.tar.gz
  • Upload date:
  • Size: 2.7 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.6.tar.gz
Algorithm Hash digest
SHA256 0fe1fdd6851663d378e85692709506d5d7c6dfc59105315ab78ba99dac689ca3
MD5 5e4cc7ed2a6f424f8e071d91cffa8de3
BLAKE2b-256 908c3aa36c18d2f05dc85d810b3fdd23dbadee15375b15c75533247347b4bb86

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.6-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.9 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.6-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 be2ae2aa554604eb467d02b7ac91f2f59d72a3f45ddfa2718c2e3ae9c850793c
MD5 60ae95502fa87c0667d1b068399da1c1
BLAKE2b-256 e080661381d50e15aad75ae68162fabc0cf364cca881e4ff88819cfc5038ac87

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.6-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.6-py3-none-win32.whl
Algorithm Hash digest
SHA256 72e3995ae182de2e37625a1debe1d0877a85039fe1fcda062891cfa07606072a
MD5 7f51fa84b2f56682312e0eb8d7cdc127
BLAKE2b-256 a5790ba0f50178461599408e048f232d585a6d7c3ce206aa4bdddcf3e8c60020

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.6-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.6-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 351bd218799f6253dd195c7c138b29eab96b4b1b805df2ed03f49c30343764c5
MD5 f2f92d817fe9678f8d5865df22bbeca8
BLAKE2b-256 3a97ba6ab133f32307b2ffe4090f53fb221f5376e9b7f84f6e43cec000f4bfeb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.6-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.6-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 b67c9d2844b1a47c0a83dee879ba9fe8ca4f0f076483ab279cdec4a05be8510e
MD5 7d4ff59d3f4f1f6cdddc7b0653f918d6
BLAKE2b-256 f663e4db3721ab106d81158f8a94a70945fb7ca41a36b48041005926841a8a5a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.6-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.6-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ba0dc50f8951f3c9ab4536b452f8c126ff18ff8439aa77b7e0a1b81a18c7ccf
MD5 277ace2da60f053e4b333181e97e81fc
BLAKE2b-256 f849dc3d7384c238708491a757219dbbf453b9d559a093dd317f10330c2a04aa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.6-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.6-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c4b3976e6891f1b46ec8baecc8a9888fc71a92178a1ee67c7c5bcb35acf6990d
MD5 99b1e2b0fb17a9bb73f63138e3e60b08
BLAKE2b-256 ceda050081c5f99fe5a57942f4ce68b9d1398d03fb84a7116469533cda22e771

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.6-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.6-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3ff8be1da3ee971c33d3ce072dcb499658206761e0d36c38d6b83acc838d2a78
MD5 d8a2f673e00b43095b26f2c1d96a39c3
BLAKE2b-256 26cd949af7a72d7dd6f7517b4f74cc85fcd9e7c0a6b1fdb1a15a96a392dd1646

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.6-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.6-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 3bb837a925162518ec58f0b704c36b9c79b92f30df2fe083ddf63175de1eedcb
MD5 076d3edd5fd6685b7f4de60609a99037
BLAKE2b-256 d33351586ebba233e35c4cb06a615d78fa2b68dc126d3476b8e15b7bb28e7ce0

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