PyInstaller Manual


PyInstaller 5.4.1+g039a4c08




David Cortesi, based on structure by Giovanni Bajo & William Caban, based on Gordon McMillan’s manual


This document has been placed in the public domain.

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. PyInstaller supports Python 3.7 and newer, and correctly bundles many major Python packages such as numpy, matplotlib, PyQt, wxPython, and others.

PyInstaller is tested against Windows, MacOS X, and Linux. However, it is not a cross-compiler; to make a Windows app you run PyInstaller on Windows, and to make a Linux app you run it on Linux, etc. x PyInstaller has been used successfully with AIX, Solaris, FreeBSD and OpenBSD but testing against them is not part of our continuous integration tests, and the development team offers no guarantee (all code for these platforms comes from external contributions) that PyInstaller will work on these platforms or that they will continue to be supported.


Make sure you have the Requirements installed, and then install PyInstaller from PyPI:

pip install -U pyinstaller

Open a command prompt/shell window, and navigate to the directory where your .py file is located, then build your app with the following command:


Your bundled application should now be available in the dist folder.


Indices and tables