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

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

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 Windows x86

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

Uploaded Python 3 musllinux: musl 1.1+ x86-64

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

Uploaded Python 3 musllinux: musl 1.1+ ARM64

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

File metadata

  • Download URL: pyinstaller-4.10.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.27.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.10.tar.gz
Algorithm Hash digest
SHA256 7749c868d2e2dc84df7d6f65437226183c8a366f3a99bb2737785625c3a3cca1
MD5 2abaafdbe52f934f8da11c8af6d5aaa7
BLAKE2b-256 b0e6e5760666896739115b0e4538a42cdd895215581618ec885ad043dd35ee57

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.10-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.27.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.10-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0dcaf6557cdb2da763c46e06e95a94a7634ab03fb09d91bc77988b01ee05c907
MD5 13b416ec244348dbaa880b415c44cedb
BLAKE2b-256 969e6dbf706e8110a442c840d93d501acbf99040cc79d162018b3dedf17537c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.10-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.27.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.10-py3-none-win32.whl
Algorithm Hash digest
SHA256 cfed0b3a43e73550a43a094610328109564710b9514afa093ef7199d072cae87
MD5 f88ae275dd34831e355db81875922d15
BLAKE2b-256 e31d147a98967961f0070d7be32fedf59103683586dfec87950e24bd4af70ee6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.10-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.27.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.10-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d4f79c0a774451f12baca4e476376418f011fa3039dde8fd172ea2aa8ff67bad
MD5 5fe513fc4db6b26a26fdc1b76bae161a
BLAKE2b-256 4d96eaeeb81b2caa1ea4e752565878313ece32d8efbc2857089866cd200c5340

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.10-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.27.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.10-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 581620bdcd32f01e89b13231256b807bb090e7eadf40c81c864ec402afa4758a
MD5 7e7854cd7da75776ac4ae516edffd26f
BLAKE2b-256 29c4c33d237586322ce4310af459091ccb6119e64c03c015a5fef10639e4b642

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.10-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.27.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.10-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 714c4dcc319a41416744d1e30c6317405dfaed80d2adc45f8bfa70dc7367e664
MD5 48d38f17db39603f1e18a5a5a2d4c260
BLAKE2b-256 41d81805bef8f48fcd97d62ad51148cde66caefc95b0aa61e2f7ac3ea3064331

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.10-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.27.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.10-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 05c21117b84199272ebd355b556af4714f6e79245e1c435d6f16653786d7d17e
MD5 c63ffeac98ff7047212909e95370971f
BLAKE2b-256 79d5f457324575eee36dc86502f58676e91e47a501ddb57f635e0ed0ce668527

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.10-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.27.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.10-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 70c71e827f4b34602cbc7a0947a067b662c1cbdc4db51832e13b97cca3c54dd7
MD5 b3e294491b032abdaad5e49c79bc887a
BLAKE2b-256 5d4706ed24d98b424d4552e9c53caf194680f2c3fb58e346c4c9b1498dda6916

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.10-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.27.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.10-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7d94518ba1f8e9a8577345312276891ad7d6cd9785e453e9951b35647e2c7078
MD5 27dd60536e78ac1724c3a6b344edeb78
BLAKE2b-256 082223f439ade4cbf981590f03239ccedbbf4514f9a74c462e3c98364845d4d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.10-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.27.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.10-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f2166ff2cd95eefb0d377ae8d1071f186fa25edd410ede65b376162d5ec41909
MD5 08003ea63060a3b336e583d51e4a55eb
BLAKE2b-256 05f6ebd54e7db8eff0625961e1ab07b486a64d6567a8f603aa1a380c41719052

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.10-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.27.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.10-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 15557cd1a79d182967f0a5040750e6902e13ebd6cab41e3ed84d7b28a306357b
MD5 32168020221b5136990c79cb766b9d5b
BLAKE2b-256 613d991517d1af7314c87bc9c5a46feb8aed345bb2e95badcb0c75c8385a6a97

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