on behalf of the PyInstaller development team I'm happy to announce PyInstaller 2.0.
Special thanks to Martin Zibricky who did most of the development work for this release.
=== What it is ===
PyInstaller is a program that converts (packages) Python programs into stand-alone executables, under Windows, Linux, Mac OS X, Solaris and AIX. Its main advantages over similar tools are that PyInstaller works with any version of Python since 2.3, 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.
=== Changes ===
Major changes for this release are:
* Minimum suported Python version is now 2.3. * Support for Mac OS X 64-bit, Mac OS X 10.7 (Lion) and 10.8 (Mountain Lion) has been added. * For OS X, application bundles (.app) can be created automatically. * Experimental support for AIX (thanks to Martin Gamwell Dawids). * Experimental support for Solaris (thanks to Hywel Richards). * A Multipackage function has been added to create a collection of packages to avoid library duplication. See documentation for more details. * A new, symplified command line interface. Configure.py, Makespec.py and Build.py replaced by pyinstaller.py. See documentation for more details. * Added or improved import hooks, most notable: - PyUSB (thanks to Chien-An "Zero" Cho). - wx.lib.pubsub (thanks to Daniel Hyams). - PyQT4, win32com, pyttsx,
The full changelog for this release can be found at:
=== Feedback ===
We're eager to listen to your feedback on using PyInstaller:
=== Features ===
* Packaging of Python programs into standard executables, that work on computers without Python installed. * Multiplatform: works under Windows (32-bit and 64-bit), Linux (32-bit and 64-bit) and Mac OS X (32-bit only). * Multiversion: works under any version of Python from 2.2 up to 2.7. * 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: required .egg files are automatically inspected for dependencies and bundled, and all the egg-specific features are supported at runtime as well (entry points, etc.). * Partial directory EGG support: required .egg directories are automatically inspected for dependencies and bundled, but egg-specific features will not work at runtime. * Automatic support for binary libraries used through ctypes. * Support for automatic binary packing through the well-known UPX compressor. * Optional console mode (see standard output and standard error at runtime). * '''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. * Support for building COM servers. * '''Mac-specific features''': * Support for bundles