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

  • 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, PyQt6, PySide6, 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.)

  • 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.11. Note that Python 3.10.0 contains a bug making it unsupportable by PyInstaller. PyInstaller will also not work with beta releases of Python 3.12.

  • Windows (32bit/64bit/ARM64):
    • 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.

  • Linux:
    • GNU libc based distributions on architectures x86_64, aarch64, i686, ppc64le, s390x.

    • musl libc based distributions on architectures x86_64, aarch64.

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

    • Raspberry Pi users on armv5-armv7 should add piwheels as an extra index url then pip install pyinstaller as usual.

  • macOS (x86_64 or arm64):
    • macOS 10.15 (Catalina) or newer.

    • Supports building universal2 applications provided that your installation of Python and all your dependencies are also compiled universal2.

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

  • Linux on any other libc implementation/architecture combination not listed above.

Before using any contributed platform, you need to build the PyInstaller bootloader. This will happen automatically when you pip install pyinstaller provided that you have an appropriate C compiler (typically either gcc or clang) and zlib’s development headers already installed.

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

Uploaded Source

Built Distributions

pyinstaller-5.10.1-py3-none-win_arm64.whl (1.2 MB view details)

Uploaded Python 3 Windows ARM64

pyinstaller-5.10.1-py3-none-win_amd64.whl (1.3 MB view details)

Uploaded Python 3 Windows x86-64

pyinstaller-5.10.1-py3-none-win32.whl (1.2 MB view details)

Uploaded Python 3 Windows x86

pyinstaller-5.10.1-py3-none-musllinux_1_1_x86_64.whl (652.1 kB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

pyinstaller-5.10.1-py3-none-musllinux_1_1_aarch64.whl (655.4 kB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

pyinstaller-5.10.1-py3-none-manylinux2014_i686.whl (655.5 kB view details)

Uploaded Python 3

pyinstaller-5.10.1-py3-none-macosx_10_13_universal2.whl (925.3 kB view details)

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

File details

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

File metadata

  • Download URL: pyinstaller-5.10.1.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for pyinstaller-5.10.1.tar.gz
Algorithm Hash digest
SHA256 6ecc464bf56919bf2d6bff275f38d85ff08ae747b8ead3a0c26cf85573b3c723
MD5 44111e6677325ebfe13cdc034714a33e
BLAKE2b-256 51372e0195ef4e4dec35e3f116361c4c780e0c4cd2cd96079199b3218c08fabb

See more details on using hashes here.

File details

Details for the file pyinstaller-5.10.1-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for pyinstaller-5.10.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 f677fbc151db1eb00ada94e86ed128e7b359cbd6bf3f6ea815afdde687692d46
MD5 91b334cb9c4c0242457b6fffe13fa126
BLAKE2b-256 853e3cd40f1773e990b7203cb346fb1f7697a84648f04ba3d9949189b6b47e29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.10.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 915a502802c751bafd92d568ac57468ec6cdf252b8308aa9a167bbc2c565ad2d
MD5 228c6b849db206aeafbe76a948ce8fdd
BLAKE2b-256 9e909f48abfcc936c3bb869e4164c12fb365a64a7272a230d4f8950109edf76e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.10.1-py3-none-win32.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for pyinstaller-5.10.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 9e9a38f41f8280c8e29b294716992852281b41fbe64ba330ebab671efe27b26d
MD5 7a8c96ec2abfba33baae9c2c985f848d
BLAKE2b-256 8b724f368cf796030e4014f60a6e81398ab3560144c532fdaac00d4122ffa86d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.10.1-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 bb7de35cd209a0a0358aec761a273ae951d2161c03728f15d9a640d06a88e472
MD5 d6d7596f999b9634aa10358b6e62d661
BLAKE2b-256 68395778f439755d21da33653e4c37f0c3957cc3c27c538c516e13cfb5ac2e1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.10.1-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 7a1db833bb0302b66ae3ae337fbd5487699658ce869ca4d538b5359b8179e83a
MD5 44f804fb8e070c63646aee29bccf511d
BLAKE2b-256 f6b03ac310a88339eb8b7d82f31667cee24d1f271779822d3915767adee671d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.10.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85e39e36d03355423636907a26a9bfa06fdc93cb1086441b19d2d0ca448479fa
MD5 3dbbd43e8e955d83478ce9f056942734
BLAKE2b-256 555e4b0e42fcf10a0575c7434eba50a12b70e4a08c30f477fd0ac818567eca13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.10.1-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6afc7aa4885ffd3e6121a8cf2138830099f874c18cb5869bed8c1a42db82d060
MD5 c183bb1ff30efe9e9281556d844ef5c2
BLAKE2b-256 5a6ee264071e9ca5116ea2b810e0f12ba3ce345236efa6ff3c10f5d1e01e8652

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.10.1-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 333b4ffda38d9c0a561c38429dd9848d37aa78f3b8ea8a6f2b2e69a60d523c02
MD5 9169c0d7f399482698176d3f25f6259b
BLAKE2b-256 482bb979df3bae069ec8cc3d0c9a06872fac68f458820f1f9a3724ddfbd27263

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.10.1-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 df97aaf1103a1c485aa3c9947792a86675e370f5ce9b436b4a84e34a4180c8d2
MD5 da46c2ff409c687c3cccbae8a07c8ed3
BLAKE2b-256 36587706d9a15fcf23bee297cd901c77c616f3954ebe02c619fd7675626e1396

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.10.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2d16641a495593d174504263b038a6d3d46b3b15a381ccb216cf6cce67723512
MD5 f9bbc93a93e679fdded673fbe8fc23c8
BLAKE2b-256 4a406fda9d11320fea164a7ac33830e6c2d1520a39b08ebdc2d06a916ead081e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.10.1-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 247b99c52dc3cf69eba905da30dbca0a8ea309e1058cab44658ac838d9b8f2f0
MD5 8089ed985814ab00fa76b163f9e5c9e8
BLAKE2b-256 4cf3ad508232468f9870f2cfeb961e3883d885a0a1c1a84c5f9879858b57e155

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