PyInstaller freezes (packages) Python applications into stand-alone executables, under Windows, GNU/Linux, Mac OS X, FreeBSD, Solaris and AIX. PyInstaller’s main advantages over similar tools are that PyInstaller works with Python 3.5 to 3.9, it builds smaller executables thanks to transparent compression, it is fully multi-platform, and use the OS support to load the dynamic libraries, thus ensuring full compatibility. The main goal of PyInstaller is to be compatible with 3rd-party packages out-of-the-box. This means that, with PyInstaller, all the required tricks to make external packages work are already integrated within PyInstaller itself so that there is no user intervention required. You’ll never be required to look for tricks in wikis and apply custom modification to your files or your setup scripts. As an example, libraries like PyQt, Django or matplotlib are fully supported, without having to handle plugins or external data files manually.
Features
- Packaging of Python programs into standard executables, that work on computers without Python installed
- PyInstaller 4.2 supports Python 3.5 to 3.9. Older versions of Python are usable with older versions of PyInstaller
- Build a directory containing an executable plus all the external binary modules (.dll, .pyd, .so) used by the program
- Build a single executable file, totally self-contained, which runs without any external dependency
- You can automate PyInstaller to do whatever packaging mode you want through a simple script file in Python
- Explicit intelligent support for many 3rd-packages (for hidden imports, external data files, etc.)