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

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

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

Uploaded Source

Built Distributions

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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

pyinstaller-5.13.0-py3-none-musllinux_1_1_x86_64.whl (655.6 kB view details)

Uploaded Python 3musllinux: musl 1.1+ x86-64

pyinstaller-5.13.0-py3-none-musllinux_1_1_aarch64.whl (659.0 kB view details)

Uploaded Python 3musllinux: musl 1.1+ ARM64

pyinstaller-5.13.0-py3-none-manylinux2014_x86_64.whl (655.0 kB view details)

Uploaded Python 3

pyinstaller-5.13.0-py3-none-manylinux2014_s390x.whl (655.1 kB view details)

Uploaded Python 3

pyinstaller-5.13.0-py3-none-manylinux2014_ppc64le.whl (662.7 kB view details)

Uploaded Python 3

pyinstaller-5.13.0-py3-none-manylinux2014_i686.whl (658.9 kB view details)

Uploaded Python 3

pyinstaller-5.13.0-py3-none-manylinux2014_aarch64.whl (657.3 kB view details)

Uploaded Python 3

pyinstaller-5.13.0-py3-none-macosx_10_13_universal2.whl (928.8 kB view details)

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

File details

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

File metadata

  • Download URL: pyinstaller-5.13.0.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.13.0.tar.gz
Algorithm Hash digest
SHA256 5e446df41255e815017d96318e39f65a3eb807e74a796c7e7ff7f13b6366a2e9
MD5 58141c984ae2473792c9ebd6d1e79478
BLAKE2b-256 4d15ce35ef1f748eab0ee51a12fc2ac256958a1eb7720c106f40f198ace1fb71

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-5.13.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 3a331951f9744bc2379ea5d65d36f3c828eaefe2785f15039592cdc08560b262
MD5 480133a08e204df7a111ad4555e9c62e
BLAKE2b-256 e12bb31d652fd04db02fab75311085fe950af7890c9f1500b1c6e38e79f2d967

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-5.13.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9fc27c5a853b14a90d39c252707673c7a0efec921cd817169aff3af0fca8c127
MD5 4967e1119ddb59d79bcec0d13f2252c3
BLAKE2b-256 cb80518fd6576f60aae9cc1cc96f133671d229cd85cd6dc14e7992dd2b5c498a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.13.0-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.13.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 2d03419904d1c25c8968b0ad21da0e0f33d8d65716e29481b5bd83f7f342b0c5
MD5 807e8616e3df60d178d334a55e63d70e
BLAKE2b-256 45cef80defbb7f2fafcbca67dfb16c08c06ed046b5d2b15273ad452d88804b5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.0-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1fde4381155f21d6354dc450dcaa338cd8a40aaacf6bd22b987b0f3e1f96f3ee
MD5 96308529f31de1281fef41b8f7e595cf
BLAKE2b-256 cd5d4b0cd691b74d6617f2613e964299cc3c32f7efe7eda25c133cfa2b3ccb60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.0-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 24009eba63cfdbcde6d2634e9c87f545eb67249ddf3b514e0cd3b2cdaa595828
MD5 43416f5b26f9fd13cd1642084e890489
BLAKE2b-256 eb7521ebd6d61e2dc1ab3a4b2859a41a9484c35482adb9c28f497f9b4dfa11ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd7d5c06f2847195a23d72ede17c60857d6f495d6f0727dc6c9bc1235f2eb79c
MD5 2799373df5209cd178439ff1eed7f557
BLAKE2b-256 548beecf92dbbd8846ce8382506b39af182e92dc470de2cff2b54dfcd4e5def7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.0-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 78975043edeb628e23a73fb3ef0a273cda50e765f1716f75212ea3e91b09dede
MD5 f2bca43078566122ec9ff11967d1a1b8
BLAKE2b-256 42d09e8e7544306ca43266ae11c1bb2bafe2410ca984166f7ec5d3849034cba1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.0-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e5fb17de6c325d3b2b4ceaeb55130ad7100a79096490e4c5b890224406fa42f4
MD5 7ada2fce2d85da6b7f065a69275bc7a7
BLAKE2b-256 8c00a437f391360e4f55535918fd074ce226428cefc1556516a9eb8e0f035ed1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.0-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 28d9742c37e9fb518444b12f8c8ab3cb4ba212d752693c34475c08009aa21ccf
MD5 63ad6582ea21d053df7e2cc4028c1568
BLAKE2b-256 c76b8de3d9a4365aad1ab4e967f695c8b1fee9e7f0b7b1c92744412a3eee0b5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0df43697c4914285ecd333be968d2cd042ab9b2670124879ee87931d2344eaf5
MD5 7606a9b952d69ffac673e334ca9584ec
BLAKE2b-256 4f7156461e69b683ae011e69d0c3d6d539e3ad289076fb58212e7f47c4daf48c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.0-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 7fdd319828de679f9c5e381eff998ee9b4164bf4457e7fca56946701cf002c3f
MD5 b15cd705337eac27292e0597440e2632
BLAKE2b-256 4be34d9242ad674b66ec58f7aae3a818d140d3d888a53221d656018e7be148cc

See more details on using hashes here.

Supported by

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