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

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 Windows x86

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

Uploaded Python 3 musllinux: musl 1.1+ x86-64

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

Uploaded Python 3 musllinux: musl 1.1+ ARM64

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

Uploaded Python 3

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

File metadata

  • Download URL: pyinstaller-4.8.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.1.dev1+gf543114 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for pyinstaller-4.8.tar.gz
Algorithm Hash digest
SHA256 7ae868bbcc502832a2c802c84a1dbb9f48b44445c50144c29bfcd7b760140e13
MD5 a1146b1a13191dd9effdf131eda90178
BLAKE2b-256 7f6b688fceb8f1fafeb028de72ad47c5b1377be9f74a75801802f1463e451b22

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.8-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/0.1.dev1+gf543114 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for pyinstaller-4.8-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f00e1296abac71f3b5bb9fdc2e0d4c079201d62faeeeb894ccadd0616179fee3
MD5 620ff31897477af328d4c3be4a00e356
BLAKE2b-256 c7fb22613fd190d2d4febe403ddb80f288621c5d9f1f014ab6c49a94b02d1cf2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.8-py3-none-win32.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.1.dev1+gf543114 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for pyinstaller-4.8-py3-none-win32.whl
Algorithm Hash digest
SHA256 53ed05214dd67624756fe4e82e861857921a79d0392debf8c9f5bb0ba5a479b6
MD5 b9b62402f387f166c7dfc81ccf322b6b
BLAKE2b-256 3e66ae0fb2b899fa73ccd0448f0c53a9c30b58b25078d27f40b45db259adff77

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.8-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/0.1.dev1+gf543114 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for pyinstaller-4.8-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b720853a00bd9547b7d6403d85f23b7f7e451e41bc907673d9fc7f8d9d274594
MD5 f0301e817d5273c6940674882999e3ea
BLAKE2b-256 471a005f8372b4f8a335b2892bfa0ae4ab1325fbdd6d93fae2de70462110c60b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.8-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/0.1.dev1+gf543114 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for pyinstaller-4.8-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 44783d58ac4cb0a74a4f2180da4dacbe6a7a013a62b3aa10be6082252e296954
MD5 64099b9906016bdab79151fa742577ea
BLAKE2b-256 680c9f08caeb3bc170b518732ba70f322c68c901b9122555dceb3ac0769b9d94

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.8-py3-none-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.1.dev1+gf543114 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for pyinstaller-4.8-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c848720a65a5bd41249bc804d1bd3dd089bb56aef7f1c5e11f774f11e649443
MD5 5d58f3cacd9f7e350a35a6cca9cb19e8
BLAKE2b-256 a8646fb84bf9b83574034157299e98c39aa6de9a649f275f92fde3dff1ea6416

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.8-py3-none-manylinux2014_s390x.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.1.dev1+gf543114 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for pyinstaller-4.8-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6f5cdc39fbdec7b2e0c46cc0f5bd0071bb85e592e324bf4e15375c5ff19e55fc
MD5 a673f4d826a5ef8e5ff702048ed88f45
BLAKE2b-256 7cbf2bf4355877209bcdbc4476ddd0b9ab4266dca8aa6853d50a7cdd059aa267

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.8-py3-none-manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.1.dev1+gf543114 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for pyinstaller-4.8-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 5c2fd5f18c0397f3d9160446035556afc7f6446fd88048887fdf46eadf85c5ec
MD5 5a44edc8e4aeb2421012bcd825e5df03
BLAKE2b-256 e2244af2f1dc71b619f62adc9deaae53ef8e71d3be7d229b4171225dd84e34f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.8-py3-none-manylinux2014_i686.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.1.dev1+gf543114 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for pyinstaller-4.8-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 15d9266d78dc757c103962826e62bce1513825078160be580534ead2ef53087c
MD5 143d30a4156897cef98a52b4b69c1600
BLAKE2b-256 3e295a1f158037fa30738e3949ee3249e418a04c1341aa7249f4068e2a6530e6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.8-py3-none-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.1.dev1+gf543114 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for pyinstaller-4.8-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9fbb05f5f67862005234da8c7eac69ef87e086f90e345749260051b031774c52
MD5 50648a27967f6d9c7014b854ab5e6364
BLAKE2b-256 b06a914ec6124a12373254dc07660fba7fee8e7975d25b50f229efae825657fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-4.8-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/0.1.dev1+gf543114 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for pyinstaller-4.8-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 b0b3a31aa60292469f9595f298e2c147cba29c30edcd92a38fdce27727809625
MD5 4b04f9418e4be25e8b7d6cb13b5435ee
BLAKE2b-256 a62d24d726c01d21b96255d720dd01bbbd8b50c9352848811c5110722687d406

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