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.8-3.13.

  • 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.8-3.13. 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.14.

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

Uploaded Source

Built Distributions

pyinstaller-6.10.0-py3-none-win_arm64.whl (1.3 MB view details)

Uploaded Python 3 Windows ARM64

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

Uploaded Python 3 Windows x86-64

pyinstaller-6.10.0-py3-none-win32.whl (1.3 MB view details)

Uploaded Python 3 Windows x86

pyinstaller-6.10.0-py3-none-musllinux_1_1_x86_64.whl (703.7 kB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

pyinstaller-6.10.0-py3-none-musllinux_1_1_aarch64.whl (707.8 kB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

pyinstaller-6.10.0-py3-none-manylinux2014_i686.whl (707.3 kB view details)

Uploaded Python 3

pyinstaller-6.10.0-py3-none-macosx_10_13_universal2.whl (984.9 kB view details)

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

File details

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

File metadata

  • Download URL: pyinstaller-6.10.0.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.0

File hashes

Hashes for pyinstaller-6.10.0.tar.gz
Algorithm Hash digest
SHA256 143840f8056ff7b910bf8f16f6cd92cc10a6c2680bb76d0a25d558d543d21270
MD5 7c594e82591f4fc20deeda7604bc1008
BLAKE2b-256 5cdf30b1f66d35defa37e676556acca4eb775b49637bb73054b0c31af134cd8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.10.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 308e0a8670c9c9ac0cebbf1bbb492e71b6675606f2ec78bc4adfc830d209e087
MD5 b9172e9bbd09531ff7c0c4fd90d61e50
BLAKE2b-256 4e4fd46f182cae5b43d97b18fa5b167a233ec04fd616d60514aece08d5c45ab8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.10.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 95b55966e563e8b8f31a43882aea10169e9a11fdf38e626d86a2907b640c0701
MD5 4a2a81883fed914073fecec95bc28f95
BLAKE2b-256 c213fe1ea2fb379a4ea86fa38c224b853b94227246840484feccbb4f2fded615

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-6.10.0-py3-none-win32.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.0

File hashes

Hashes for pyinstaller-6.10.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 703e041718987e46ba0568a2c71ecf2459fddef57cf9edf3efeed4a53e3dae3f
MD5 ffa871f90dfafc9f97f9314161679d2f
BLAKE2b-256 a2fddcbeb93783b983c8bf5d9cab929361761b0c3bc560de5377041eb2aec2b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.10.0-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 28eca3817f176fdc19747e1afcf434f13bb9f17a644f611be2c5a61b1f498ed7
MD5 162a8cdc9542f8168d1aab204acc4d08
BLAKE2b-256 fa77eeac52914f24d952524493d3190f6a383582d4abb117076f50264eba0f9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.10.0-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 db05e3f2f10f9f78c56f1fb163d9cb453433429fe4281218ebaf1ebfd39ba942
MD5 d50cfca612550c7a7b34f72de91334b3
BLAKE2b-256 ba8ff21b92a90bb48a0e59f448ff6f92a823457922207cede7ae3abedcbfb974

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.10.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6cf876d7d93b8b4f28d1ad57fa24645cf43119c79e985dd5e5f7a801245e6f53
MD5 aa5afde2f6cdf58ff480a7ebc6cfb808
BLAKE2b-256 1978604bec9cd73cd02ed29f7bd72ec25dff6eccc57554ec3ab096959fae65de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.10.0-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 b7c90c91921b3749083115b28f30f40abf2bb481ceff196d2b2ce0eaa2b3d429
MD5 ff92d595718453abd4785f0051a63e99
BLAKE2b-256 6e565ce76d7dd53f8ed13d91d0ac9688b5624c849ad2dfcee18ff5709955d150

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.10.0-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 e9989f354ae4ed8a3bec7bdb37ae0d170751d6520e500f049c7cd0632d31d5c3
MD5 85b5f99e0cced6730494c4c1a817b6ef
BLAKE2b-256 65e7452dc579bd38b50142a0886a3a0fd67aa14fb84ea0376f339a568931319c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.10.0-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3398a98fa17d47ccb31f8779ecbdacec025f7adb2f22757a54b706ac8b4fe906
MD5 6e741250e8e77454490873c88370ddfe
BLAKE2b-256 c4444e20bf97d464cb27fd9b25321c94beb8d1f5ed7176af38fe6a22d8766d2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.10.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 46d75359668993ddd98630a3669dc5249f3c446e35239b43bc7f4155bc574748
MD5 7eebef3340ec6139fd03195a42e5b018
BLAKE2b-256 b71c1071c69e21b27ca5b1ea185fb897a0e724e85b8c4456b0b142b0cac3c33b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.10.0-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 d60fb22859e11483af735aec115fdde09467cdbb29edd9844839f2c920b748c0
MD5 b97ab2d144260652938b288aa492a6e1
BLAKE2b-256 a6fd9b3c208c9cc822555b88c6af051da5f7291f367e4337ea44b138008ba2fb

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