I have used PyInstaller a lot and it really saved the day for me. I have been able to compile (cross platform) and bundle many applications with it and it also works well with Cython.
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!