Welcome to PyInstaller Development website

PyInstaller is a program that converts (packages) Python programs into stand-alone executables, under Windows, Linux and Irix. Its main advantages over similar tools are that PyInstaller works with any version of Python since 1.5, it builds smaller executables thanks to transparent compression, it is fully multi-platform (with experimental Mac OSX support in the works!), 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. Check our compatibility list of SupportedPackages.

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.


Stable release

The latest stable release of PyInstaller is 1.3 (Change Log). See below for download links.
Fair notice: The release is outdated. You are encourage to try PyInstaller trunk from SVN at this point, until a new release comes out.

Features

  • Packaging of Python programs into standard executables, that work on computers without Python installed.
  • Multiplatform: works under Windows, Linux and Irix. (Mac port in development. Try it on SVN trunk)
  • Multiversion: works under any version of Python from 1.5 up to 2.6. NOTE: Python 2.6 on Windows is still not supported because of the SxS CRT mess.
  • Flexible packaging mode:
    • Single directory: build a directory containing an executable plus all the external binary modules (.dll, .pyd, .so) used by the program.
    • Single file: build a single executable file, totally self-contained, which runs without any external dependency.
    • Custom: 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.), to make them work with PyInstaller out-of-the-box.
  • Full single-file EGG support: .egg files are automatically packaged by PyInstaller as-is, so that all features are supported at runtime as well (entry points, etc.).
  • Support for automatic binary packing through the well-known UPX compressor.
  • Support for code-signing executables on Windows.
  • Optional console mode (see standard output and standard error at runtime).
  • Selectable executable icon (Windows only).
  • Fully configurable version resource section in executable (Windows only).
  • Support for building COM servers (Windows only).

License

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.

(Historical note: The original Python Installer used to be distributed under a MIT-style license. Even though it was not strictly required, Gordon himself nodded the license change.)


Stable Downloads

ATTENTION: Stable downloads are really outdated at this point. You're encouraged to check out PyInstaller? from SVN trunk.

FileMD5Description
Release 1.3
PyInstaller 1.3 (tar.gz)3968da33ac2a7840cf742f304a934885Stable Release
PyInstaller 1.3 (zip)31e1429651fdd261265c21e64766294fStable Release
Release 1.2
PyInstaller 1.2 (tar.gz)2a2ffbc268e41e7719c3a0f64befc003Stable Release
PyInstaller 1.2 (zip)ffa9c0490ba82354926d77260eade7a8Stable Release
Release 1.1
PyInstaller 1.1 (tar.gz)7083e1cfa76d289850ac772255fe17b5Stable Release
PyInstaller 1.1 (zip)7460aa192485aae6f033bf5b8f0727f5Stable Release
Release 1.0
PyInstaller 1.0 (tar.gz)67f61ebd91f17dda424d1b1f87cb1737First stable release
PyInstaller 1.0 (zip)10245e214ccbd07e123e8d3792c83c81First stable release

Other Downloads

FileMD5Description
PyInstaller Weekly Devel Snapshot (temporarilly disabled)Weekly Snapshot of Repository. See Snapshot Release]Unstable. Read the Change Log for details on the changes.
McMillan's Installer 5b5 (original)24debb863932c1de0cc077299148fadcOriginal latest stable release (Consider this McMillanInstallerPatches)
McMillan's Installer 6a2 (original)db1de8a2864ae3972082a5d7841a31a7Original latest alpha release (unknown change log at this point)

Documentation

  • The latest version of the documentation (from SVN trunk) can be read here
  • Version 1.1 documentation here
  • List of SupportedPackages

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.

FAQ

Our FAQ is here.

Maintainers

  • Giovanni Bajo (rasky at develer dot com) is the current maintainer of PyInstaller.
  • William Caban (william at monids dot org) is in charge of the website and the development infrastructure (many thanks, man!)
  • Gordon McMillan wrote the original Python Installer, on which PyInstaller is based.

Mailing List

Subversion Repository

  • You may browse the current repostory at the Repository Browser
  • Or you may check out the current version by running svn co http://svn.pyinstaller.org/trunk pyinstaller

Logos

Develer srl