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

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows ARM64

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

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 Windows x86

pyinstaller-5.13.2-py3-none-musllinux_1_1_x86_64.whl (661.6 kB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

pyinstaller-5.13.2-py3-none-musllinux_1_1_aarch64.whl (665.0 kB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

pyinstaller-5.13.2-py3-none-manylinux2014_i686.whl (664.8 kB view details)

Uploaded Python 3

pyinstaller-5.13.2-py3-none-macosx_10_13_universal2.whl (935.0 kB view details)

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

File details

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

File metadata

  • Download URL: pyinstaller-5.13.2.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.2.tar.gz
Algorithm Hash digest
SHA256 c8e5d3489c3a7cc5f8401c2d1f48a70e588f9967e391c3b06ddac1f685f8d5d2
MD5 ac26da8b8961d9ba902ad07f62a52b0c
BLAKE2b-256 bd23c5f0163b2049699cdbb511eac72798f017d4c9a3f4ba571fbef398156e3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 27cd64e7cc6b74c5b1066cbf47d75f940b71356166031deb9778a2579bb874c6
MD5 280e38cd05aee0627e3e3e23e46a7156
BLAKE2b-256 d82988f5dc3c3f3ee7c38115ea4aed4dc04aace4e28e174bc08a3a8165f94f12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ddcc2b36052a70052479a9e5da1af067b4496f43686ca3cdda99f8367d0627e4
MD5 06e8b9ae573354dd83ffe525867a45cf
BLAKE2b-256 1a74c65be869ae47649b98a928b3122c27d72fe372138aab4dc6cdd42e217d8a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-5.13.2-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.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 421cd24f26144f19b66d3868b49ed673176765f92fa9f7914cd2158d25b6d17e
MD5 033bf00091f391428a579327016be8fb
BLAKE2b-256 cde7837f40d46b3f00a640caf7d5e8b0dc1ee4d98257cb90705e0c98e47bffea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.2-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b2e1c7f5cceb5e9800927ddd51acf9cc78fbaa9e79e822c48b0ee52d9ce3c892
MD5 3df0236c5c6caa74215a33b98dd5d5aa
BLAKE2b-256 dbf224a58da4b6d1695d724699abc14a5153b4cb61cfcabe0dbbabf70f3f1d7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.2-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 aadafb6f213549a5906829bb252e586e2cf72a7fbdb5731810695e6516f0ab30
MD5 706e3d24c3fbfd8ebde4eabf89bba335
BLAKE2b-256 17aa72185ebd3464e15476fd8e7bc85466786dcd24bec12e3cde6b9cd69264e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.2-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c63ef6133eefe36c4b2f4daf4cfea3d6412ece2ca218f77aaf967e52a95ac9b8
MD5 ef8539eaeb35341e0b91ec8e7b5567e4
BLAKE2b-256 cc0e48e5746f4fd4a982164d7d1f0be6108db38774f8979e5f632d47c8aa3169

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.2-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2c2fe9c52cb4577a3ac39626b84cf16cf30c2792f785502661286184f162ae0d
MD5 c3b52f1cbdc3528f9fd62f1efa4c24b9
BLAKE2b-256 cd42e161dbe6e81e707a7b4c2149e5c82edc44789532014c5f3092ea76551da8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.2-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7d51734423685ab2a4324ab2981d9781b203dcae42839161a9ee98bfeaabdade
MD5 246c46ac266f669515860c77b67b48cc
BLAKE2b-256 3e7fca03d6f8cc6c62ac42f37d203effb184dd1bf8229695e29f7e56f96d7946

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.2-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 65133ed89467edb2862036b35d7c5ebd381670412e1e4361215e289c786dd4e6
MD5 ec614a35da3ff960e16258404e9b5395
BLAKE2b-256 a0196f0b4d625685ef050f10955df96a7e40860bf942308e801bc5383fc80b01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.2-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8f6dd0e797ae7efdd79226f78f35eb6a4981db16c13325e962a83395c0ec7420
MD5 b60f0119d67d352200cdf532d15efa76
BLAKE2b-256 3975f80830ea541271460e93b57ab0a8b509cf3f9d3895722e7e2376e13aa5cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-5.13.2-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 16cbd66b59a37f4ee59373a003608d15df180a0d9eb1a29ff3bfbfae64b23d0f
MD5 f07700760297ec4188e290ae3c263e49
BLAKE2b-256 28fdf2ae4a3405c15a26f410e71412450c7a566530dc46679f6f5486c7f461d1

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