Welcome to PyInstaller official website

If you have problems to get your application running, please have a look at If Things Go Wrong and How to Report Bugs, which will help us a lot on solving the bug.

PyInstaller is a program that freezes (packages) Python programs into stand-alone executables, under Windows, Linux, Mac OS X, FreeBSD, Solaris and AIX. Its main advantages over similar tools are that PyInstaller works with Python 2.7 and 3.3—3.5, 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. Check our compatibility list of Supported Packages for details.

Feel free to join us in the effort! Please consult our Roadmap to check our plans. Also usage reports are welcomed: let us know if PyInstaller works for you and how, or what problems you found in using it.

Check our list of Projects using PyInstaller.


Windows-specific features

  • Support for code-signing executables.
  • Full automatic support for CRTs: no need to manually distribute MSVCR*.DLL, redist installers, manifests, or anything else; true one-file applications that work everywhere!
  • Selectable executable icon.
  • Fully configurable version resource section and manifests in executable.

Mac-specific features


The latest stable release of PyInstaller is 3.2.1. (Change Log).

See the full list of releases for older (obsolete) releases.

See PyInstaller Logos for marketing materials.



PyInstaller is distributed under the GPL license (see the file doc/LICENSE.GPL in the source code), with a special exception which allows to use PyInstaller to build and distribute non-free programs (including commercial ones). In other words, you have no restrictions in using PyInstaller as-is, but any kind of modifications to it will have to comply with the GPL license. See also our FAQ.


If you have problems to get your application running, please have a look at If Things Go Wrong and How to Report Bugs, which will help us a lot on solving the bug.

Mailing List

IRC Channel

Bug reports

Look at the list of open bugs. You can report bugs either anonymously or after registering to this website. If you register, you will be able to followup on the tickets and receive notifications.


We are happy about contributions. How to Contribute should provide all information you need.

Source Code Repository

  • You may browse the current repostory at the Repository Browser.

  • Or you may check out the current version by running:

    git clone https://github.com/pyinstaller/pyinstaller.git

If you are interested in the "core" development, including tools and processes, please refer to the Development section.


We would like to thank Gordon McMillan who wrote the original Python Installer, and William Caban for his initial development and maintenance effort without which PyInstaller would not exist today.