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

Uploaded Source

Built Distributions

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

Uploaded Python 3 Windows ARM64

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

Uploaded Python 3 Windows x86-64

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

Uploaded Python 3 Windows x86

pyinstaller-6.11.1-py3-none-musllinux_1_1_x86_64.whl (710.5 kB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

pyinstaller-6.11.1-py3-none-musllinux_1_1_aarch64.whl (714.4 kB view details)

Uploaded Python 3 musllinux: musl 1.1+ ARM64

pyinstaller-6.11.1-py3-none-manylinux2014_i686.whl (714.1 kB view details)

Uploaded Python 3

pyinstaller-6.11.1-py3-none-macosx_10_13_universal2.whl (991.8 kB view details)

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

File details

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

File metadata

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

File hashes

Hashes for pyinstaller-6.11.1.tar.gz
Algorithm Hash digest
SHA256 491dfb4d9d5d1d9650d9507daec1ff6829527a254d8e396badd60a0affcb72ef
MD5 4ef0c66cc5a6046aacbe84fb99118d67
BLAKE2b-256 55d454f5f5c73b803e6256ea97ffc6ba8a305d9a5f57f85f9b00b282512bf18a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.11.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 35e6b8077d240600bb309ed68bb0b1453fd2b7ab740b66d000db7abae6244423
MD5 7fc36dc6dc28c7eb4e2271dd21126422
BLAKE2b-256 ed56953c6594cb66e249563854c9cc04ac5a055c6c99d1614298feeaeaa9b87e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.11.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 7ac83c0dc0e04357dab98c487e74ad2adb30e7eb186b58157a8faf46f1fa796f
MD5 37f08bf88144c09e3832b6f8ba653c82
BLAKE2b-256 7d08f43080614b3e8bce481d4dfd580e579497c7dcdaf87656d9d2ad912e5796

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyinstaller-6.11.1-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.11.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 2e8365276c5131c9bef98e358fbc305e4022db8bedc9df479629d6414021956a
MD5 52cda433830f9d22be02412ee61696ac
BLAKE2b-256 7cf098c9138f5f0ff17462f1ad6d712dcfa643b9a283d6238d464d8145bc139d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.11.1-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ad84abf465bcda363c1d54eafa76745d77b6a8a713778348377dc98d12a452f7
MD5 17c878d0abfac4b0a11bc090cff62a6b
BLAKE2b-256 8801256824bb57ca208099c86c2fb289f888ca7732580e91ced48fa14e5903b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.11.1-py3-none-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 208c0ef6dab0837a0a273ea32d1a3619a208e3d1fe3fec3785eea71a77fd00ce
MD5 bf55d819ef19aedda6f0387aa1a16d46
BLAKE2b-256 3e57d14b44a69f068d2caaee49d15e45f9fa0f37c6a2d2ad778c953c1722a1ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.11.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 32c742a24fe65d0702958fadf4040f76de85859c26bec0008766e5dbabc5b68f
MD5 ae46cc2e2a10d1dd58f9e7eb649dcc1f
BLAKE2b-256 7fe000d29fc90c3ba50620c61554e26ebb4d764569507be7cd1c8794aa696f9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.11.1-py3-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e21c7806e34f40181e7606926a14579f848bfb1dc52cbca7eea66eccccbfe977
MD5 bd7fe1969dec83b249c97e47a9e2eadd
BLAKE2b-256 6f4d7f854842a1ce798de762a0b0bc5d5a4fc26ad06164a98575dc3c54abed1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.11.1-py3-none-manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 0d6475559c4939f0735122989611d7f739ed3bf02f666ce31022928f7a7e4fda
MD5 5a1255064e3bda4c64a72a6ecbdb47e5
BLAKE2b-256 25f79961ef02cdbd2dbb1b1a215292656bd0ea72a83aafd8fb6373513849711e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.11.1-py3-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ddc0fddd75f07f7e423da1f0822e389a42af011f9589e0269b87e0d89aa48c1f
MD5 4a9f0505f1ee9bb392b1bb8f318042c7
BLAKE2b-256 32f779d10830780eff8339bfa793eece1df4b2459e35a712fc81983e8536cc29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.11.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6d12c45a29add78039066a53fb05967afaa09a672426072b13816fe7676abfc4
MD5 fac9ae8ee73b0c6ef7b947cdca3577e7
BLAKE2b-256 fd0f9f54cb18abe2b1d89051bc9214c0cb40d7b5f4049c151c315dacc067f4a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyinstaller-6.11.1-py3-none-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 44e36172de326af6d4e7663b12f71dbd34e2e3e02233e181e457394423daaf03
MD5 e7e6b3fc282764f331d54665d36ce282
BLAKE2b-256 9615b0f1c0985ee32fcd2f6ad9a486ef94e4db3fef9af025a3655e76cb708009

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