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

Uploaded Source

Built Distributions

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

Uploaded Python 3Windows ARM64

pyinstaller-6.14.2-py3-none-win_amd64.whl (1.4 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

pyinstaller-6.14.2-py3-none-musllinux_1_1_x86_64.whl (724.5 kB view details)

Uploaded Python 3musllinux: musl 1.1+ x86-64

pyinstaller-6.14.2-py3-none-musllinux_1_1_aarch64.whl (724.8 kB view details)

Uploaded Python 3musllinux: musl 1.1+ ARM64

pyinstaller-6.14.2-py3-none-manylinux2014_x86_64.whl (725.6 kB view details)

Uploaded Python 3

pyinstaller-6.14.2-py3-none-manylinux2014_s390x.whl (725.4 kB view details)

Uploaded Python 3

pyinstaller-6.14.2-py3-none-manylinux2014_ppc64le.whl (728.6 kB view details)

Uploaded Python 3

pyinstaller-6.14.2-py3-none-manylinux2014_i686.whl (730.5 kB view details)

Uploaded Python 3

pyinstaller-6.14.2-py3-none-manylinux2014_aarch64.whl (720.2 kB view details)

Uploaded Python 3

pyinstaller-6.14.2-py3-none-macosx_10_13_universal2.whl (1.0 MB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-6.14.2.tar.gz
Algorithm Hash digest
SHA256 142cce0719e79315f0cc26400c2e5c45d9b6b17e7e0491fee444a9f8f16f4917
MD5 31ccf2faf51a5a118ae8b1000421a7f5
BLAKE2b-256 f82541d6be08d65bdc5126e86d854f5767397483acf360f2c95c890e3fa96a31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.14.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 69fd11ca57e572387826afaa4a1b3d4cb74927d76f231f0308c0bd7872ca5ac1
MD5 4e138862cc68c47469723f4bf341d5d5
BLAKE2b-256 3de2c267cadb3307a4979757b086674f592669c04bd960a8d2746dd2d18ad57d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-6.14.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e10e0e67288d6dcb5898a917dd1d4272aa0ff33f197ad49a0e39618009d63ed9
MD5 33471dbc54e15b611b0b545e29272959
BLAKE2b-256 7969111c85292ff99567a2408a6c6e9bf0b31910239f82b97d106321762d222c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-6.14.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 1697601aa788e3a52f0b5e620b4741a34b82e6f222ec6e1318b3a1349f566bb2
MD5 dadfa1cbcc7e739eafb496cdece1c8d4
BLAKE2b-256 2a26d9559ac0851b1e3427a6b3ab0cd9edc8082b114f2499f78af532fdd5e14d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.14.2-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6c673a7e761bd4a2560cfd5dbe1ccdcfe2dff304b774e6e5242fc5afed953661
MD5 e5e9a82900d5e7e54ee6aea4313c3e7f
BLAKE2b-256 3c6b7162d59ee37e6883a5c4830cfe7dfb06c4997cc6aeb5f170d30ae76d9a39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.14.2-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 185710ab1503dfdfa14c43237d394d96ac183422d588294be42531480dfa6c38
MD5 c0ffb8cfdee0b4df7765de7d2d852218
BLAKE2b-256 6fbc16eef174580bf4ca386479e48d5be8a977bf36cb6a9006814d754834c773

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.14.2-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78827a21ada2a848e98671852d20d74b2955b6e2aaf2359ed13a462e1a603d84
MD5 69ce0b525436fda3d0ef39fa0d1416da
BLAKE2b-256 b898460a32d2e325ad0ea81e4df478a8d84b5ebe0ceaca0cd3088f16afcaba5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.14.2-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 03862c6b3cf7b16843d24b529f89cd4077cbe467883cd54ce7a81940d6da09d3
MD5 2816fc2ba3187678b3b86ecf13730d78
BLAKE2b-256 9f08379af897977d77a4cf7d8c50dbe0135950be6d97be24c3ca4b45ccccd33b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.14.2-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 fdd2bd020a18736806a6bd5d3c4352f1209b427a96ad6c459d88aec1d90c4f21
MD5 981d76d78b6d7d2acdb61ed0fea5c754
BLAKE2b-256 976f358d23398cf210ba5a588e1311b6611762e353670d11838633cbb4c5ff79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.14.2-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 077efb2d01d16d9c8fdda3ad52788f0fead2791c5cec9ed6ce058af7e26eb74b
MD5 4b319437f4c2955f05c3b400d1bb971a
BLAKE2b-256 c8d6bf9e385cc20ee5dba5248716eda4d1271599c9ff2e173a0e7577d57866f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.14.2-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3fa0c391e1300a9fd7752eb1ffe2950112b88fba9d2743eee2ef218a15f4705f
MD5 8ea2f33e9f5cfeac66154e4521b15e2d
BLAKE2b-256 8fa50780ce0f9916012cafd65673a4cc3d59aee65af84c773f49b36aa98d0ce9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.14.2-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 d77d18bf5343a1afef2772393d7a489d4ec2282dee5bca549803fc0d74b78330
MD5 0855c081c457909d8b70c696bb32c3eb
BLAKE2b-256 a0dde5f4a4be80e291d2443ac7e73fa78f17003e4f2e3ec15a2ffdea0583a5c6

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