PyInstaller is a program that converts (packages) Python programs into stand-alone executables, under Windows, Linux, Mac OS X, AIX and Solaris. 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 uses 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.
I like this. It simply does what it promises ! My python (+PySide Qt) was packaged and working standalone in a matter of minutes. A suggestion could be to go one step further and make an installer of it with NSIS f.i.
At Renesas Electronics we used Pyinstaller with our LibUSB package. Very helpful, and works very well. I wrote this quick-guide to use it. That is what was lacking. - Carl Stenquist Short ref how to use Pyinstaller: Put your-program.py in C:\Python27\pyinstaller-ver-x.y Run: >C:\Python27\pyinstaller-ver-x.y>python pyinstaller.py Renesas_libusb_host_gui.py Answer 'y' to overwrite if asked. It will do the following for you, so you should not need to do these steps yourself: C:\Python27\pyinstaller-ver-x.y>python Makespec.py --onefile -d Renesas_libusb_host_gui.py C:\Python27\pyinstaller-ver-x.y>python Build.py Renesas_libusb_host_gui\Renesas_libusb_host_gui.spec If successfiul, the executable will be in C:\Python27\pyinstaller-ver-x.y\Renesas_libusb_host_gui\dist\Renesas_libusb_host_gui OBSERVE! Any files used by the executable must also be placed inside the 'dist' directory. Also, after each rerun of Pyinstaller the 'dist' directory is completely rewritten, so you must re-add in our case Renesas_logo.gif to the dist folder.
I always know that I can fall back on this tool to get the job done.Thanks for a great product!
Makes deploying to closed operating systems like Windows and OS X a breeze!