Packaging and distributing a python (for windows) application for client side
Question: Lets say I have developed a desktop application using python for windows
users. I want to distribute this application.

So what is the standard process of packaging and distributing? I want the
setup to be installed other .msi or .exe setups are installed.


Answer: [PyInstaller](http://www.pyinstaller.org/)

> 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.

[cx-freeze](http://cx-freeze.sourceforge.net/)

> cx_Freeze is a set of scripts and modules for freezing Python scripts into
> executables, in much the same way that py2exe and py2app do. Unlike these
> two tools, cx_Freeze is cross platform and should work on any platform that
> Python itself works on. It supports Python 2.3 or higher (including Python
> 3), since it makes use of the zip import facility which was introduced in
> 2.3.

Once you have it packaged into a self-contained environment, be it either a
single exe or a directory structure, you can use any standard Windows
Installer application if you need special installation procedures. Or you can
simply distribute it as the .exe, ready to run.

