skillfed

pyinstaller

PyInstaller bundles a Python application and all its dependencies into a single package.

pyinstaller v6.22.0 12.1M downloads/30d#1,346 on PyPI13,065
Copyleft license GPLv2-or-later with a special exception which allows to use PyInstaller to build and distribute non-free programs (including commercial ones) Active released

What it is and what it does

PyInstaller is a mature Python packaging tool that analyzes your Python script, discovers all its dependencies, and bundles them together with a Python interpreter into a single executable or folder. The resulting package runs on target systems without requiring Python or any modules to be pre-installed. It works on Windows, macOS, and Linux, and handles major packages out-of-the-box through integrated compatibility hooks.

The tool is not a cross-compiler: you must run it on the target platform to build for that platform. It supports Python 3.8-3.15 and includes platform-specific wheels for multiple architectures on Linux, plus Windows and macOS. The project is actively maintained with no known vulnerabilities and has been in development since 2012.

Use it for:

  • Distribute a Python CLI tool or desktop application to end users who do not have Python installed.
  • Create a standalone executable for Windows, macOS, or Linux from a Python script for easier deployment.
  • Bundle a data science application into a single distributable file without requiring users to manage Python environments.
  • Package a GUI application for cross-platform delivery without requiring users to manage Python environments.
  • Build a standalone tool for system administrators or non-technical users who need to run Python code without a development setup.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

PyInstaller bundles a Python application and all its dependencies into a single standalone executable or folder that runs without requiring a Python interpreter or installed modules on the target system.

Yes. PyInstaller is a mature, actively maintained tool with no known vulnerabilities, broad platform support, and built-in compatibility for major Python packages. The medium install friction (8 dependencies, platform-specific wheels) is offset by its proven track record and active development. Install it if you need to distribute Python applications as standalone executables.

Install

pyinstaller on PyPI

pip

pip install pyinstaller

uv

uv add pyinstaller

poetry

poetry add pyinstaller

Installing pyinstaller

Before you install

Medium install friction due to 8 runtime dependencies and platform-specific wheels; however, the project is actively maintained (last commit 2026-08-13) with mature status and no known vulnerabilities, making it a stable choice despite the dependency footprint.

License in practice

Licensed under GPLv2-or-later with a special exception permitting use to build and distribute non-free and commercial programs. The copyleft treatment applies to PyInstaller itself, but the exception means you can bundle proprietary code without inheriting GPL obligations on your application.

Quickstart

pip install pyinstaller
pyinstaller /path/to/yourscript.py

Requires a C compiler (gcc or clang) and zlib development headers on non-Windows platforms; Python 3.10.0 is unsupported; not a cross-compiler—target platform must match build platform.

Verify before relying

  • Whether the 8 runtime dependencies (altgraph, importlib-metadata, macholib, packaging, pefile, pyinstaller-hooks-contrib, pywin32-ctypes, setuptools) introduce any transitive security concerns or version conflicts in your environment.
  • Performance characteristics and bundle size overhead for large applications with many dependencies.

Package facts

License GPLv2-or-later with a special exception which allows to use PyInstaller to build and distribute non-free programs (including commercial ones) (copyleft)
Python support supports the current Python release (<3.16,>=3.8)
Install friction medium — platform-specific wheel
Runtime dependencies 8 — altgraph, importlib-metadata, macholib, packaging, pefile, pyinstaller-hooks-contrib, pywin32-ctypes, setuptools
Maintenance actively maintained — 6 days since the last release
Last repo commit
First released
Downloads 12,067,723/month — #1,346 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyinstaller-6.22.0-py3-none-macosx_10_13_universal2.whl; pyinstaller-6.22.0-py3-none-manylinux2014_aarch64.whl; pyinstaller-6.22.0-py3-none-manylinux2014_i686.whl; pyinstaller-6.22.0-py3-none-manylinux2014_ppc64le.whl; pyinstaller-6.22.0-py3-none-manylinux2014_s390x.whl; pyinstaller-6.22.0-py3-none-manylinux2014_x86_64.whl; pyinstaller-6.22.0-py3-none-musllinux_1_1_aarch64.whl; pyinstaller-6.22.0-py3-none-musllinux_1_1_x86_64.whl; pyinstaller-6.22.0-py3-none-win32.whl; pyinstaller-6.22.0-py3-none-win_amd64.whl; pyinstaller-6.22.0-py3-none-win_arm64.whl

Keywords: app, apps, bundle, convert, executable, packaging, standalone

Development Status :: 6 - MatureEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: Other AudienceIntended Audience :: System AdministratorsLicense :: OSI Approved :: GNU General Public License v2 (GPLv2)Natural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: POSIX :: AIXOperating System :: POSIX :: BSDOperating System :: POSIX :: LinuxOperating System :: POSIX :: SunOS/SolarisProgramming Language :: CProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonTopic :: Software DevelopmentTopic :: Software Development :: Build ToolsTopic :: Software Development :: InterpretersTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: Installation/SetupTopic :: System :: Software DistributionTopic :: Utilities

Tags

python to executablebundle python appstandalone python binarypython packaging toolcreate exe from pythonpython application distributionfreeze python script
packagingdistributionexecutable-generation

More Software Development packages