Skip to main content

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

Project description

PyPI PyPI - Python Version Read the Docs (version) PyPI - Downloads

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

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyinstaller-5.2-py3-none-win_amd64.whl (1.2 MB view details)

Uploaded Python 3Windows x86-64

pyinstaller-5.2-py3-none-win32.whl (1.1 MB view details)

Uploaded Python 3Windows x86

pyinstaller-5.2-py3-none-musllinux_1_1_x86_64.whl (555.9 kB view details)

Uploaded Python 3musllinux: musl 1.1+ x86-64

pyinstaller-5.2-py3-none-musllinux_1_1_aarch64.whl (559.1 kB view details)

Uploaded Python 3musllinux: musl 1.1+ ARM64

pyinstaller-5.2-py3-none-manylinux2014_x86_64.whl (555.2 kB view details)

Uploaded Python 3

pyinstaller-5.2-py3-none-manylinux2014_s390x.whl (555.3 kB view details)

Uploaded Python 3

pyinstaller-5.2-py3-none-manylinux2014_ppc64le.whl (562.6 kB view details)

Uploaded Python 3

pyinstaller-5.2-py3-none-manylinux2014_i686.whl (559.0 kB view details)

Uploaded Python 3

pyinstaller-5.2-py3-none-manylinux2014_aarch64.whl (557.4 kB view details)

Uploaded Python 3

pyinstaller-5.2-py3-none-macosx_10_13_universal2.whl (828.7 kB view details)

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

File details

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

File metadata

  • Download URL: pyinstaller-5.2.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.9

File hashes

Hashes for pyinstaller-5.2.tar.gz
Algorithm Hash digest
SHA256 5efc1b3ffb13fe50a51305fe57fb9e6e7bce00d009c16dd3cb76ea4d702a04ab
MD5 6831b9fc1a7cfb44c86babd852d66584
BLAKE2b-256 9cb15c9cf5bceade92613196b1be4b9cc1406e82d9edadb3c682da860be96cea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.9

File hashes

Hashes for pyinstaller-5.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 5d170f7c4c402c820b4c5cf7fde61dd9741bf0456342b19b207e29041d75aa30
MD5 b0ca1933d006e4fc5c2bc049f6948e4a
BLAKE2b-256 b93d1b0bcabdfa4e7af2ad16a275372662ca804ee4479c6ac283af9514d5725b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.2-py3-none-win32.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.9

File hashes

Hashes for pyinstaller-5.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 4def5b6433b4233b2b53ef92ac351788edb11e4d1e08123b9c90e21a7b310a41
MD5 77dc0c907151a36ee5c74d1fdfc0c42f
BLAKE2b-256 bab5e6f11f20ec247762a3b1a3174d15c8314cd19a23737773e446026a3bb889

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.2-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 60c53ba54651f22f75dce2bcf49f0a1bcd03c729ced15f2efabad28e0ea0c938
MD5 5715c967b32d681d1a02d5ca96a04c95
BLAKE2b-256 59d3699623b8a4bd4d91a11389daed23e3601b64961ede57d2096d4ffb904fdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.2-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 a21c07dd026bc127684e7a451320bf59cac2c85bea4cb412f7193876ad741d58
MD5 9a98b9704d2dca6fc0db38a0adbd7da5
BLAKE2b-256 c72684df2b9865442aa3575d8d04ab1d685d92cdfe3d8c730101b2aa31078102

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.2-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03984eed0baa252ea9854eb0785a1c40ac033c5c28d3abdae7d820da734aed5a
MD5 87ba605073de0fc4048c47c7d070d4fe
BLAKE2b-256 c1866e8b7e73bf690050a83e9d10aaaac99757c9935cc368d82f212bb7f9ef58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.2-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 9d44f331f96fa0ef556cf5304f8b906ca20f55503ddd7aa2a914e87bc58e2cc9
MD5 5aa34a16e38c0a3825ee5caf6ebadcbb
BLAKE2b-256 bb1822ddf6d877b097a9273cbdbb82bd76b44fd17484940c815efd3ed1ca3720

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.2-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 dda3a4787fa4498bb9e688f81bed918f061bd583c8ff0e47881a5422a4b2093b
MD5 68d9a1edc5c91af8a28cc253fef0b3fc
BLAKE2b-256 d1b18f3ccf68d54663f19ca0544e5a5ea9a4e106a8aa221afc0c5d12100bd2fd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.2-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6ecce857491bc4f477fcbde1b430d63b957d99bc511fa7e79136c07f831fc505
MD5 71c49e664a6528caf15b390e5aa2cebe
BLAKE2b-256 7b414b70841eead1b2d282d39ac97914a0044bb95975babae2565e9379203b65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.2-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1061f7a6de055007949ec9ad1c6a080b93e102b2a288c8ff88f65e5d7716d4aa
MD5 05d98158e6c0729ece26eafa7f520537
BLAKE2b-256 7fd658072effd57c76e2a0df70c9699cc319ac8faf0fb9c7932ad86f83b9ae9c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.2-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 f10b19ad4f66ccad16574ff1979cc15e1ea010f8577292500125dd45abcd8303
MD5 fa9f2193ae7318efbd8f3ca16bb0886a
BLAKE2b-256 91a96b5bdd4ab7edfea78f8d30163e08da80755933519087b42203d80e14df97

See more details on using hashes here.

Supported by

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