Distribution Utilities
Tools for distributing Python software:
General Package Distribution
General distribution of Python code is typically done using the [wiki:DistUtils distutils] package from the standard library which can produce source and binary distributions which depend on end-users having Python already installed on their computer.
Installers
The following are projects which support the production of installers or stand-alone executables.
- ["cx_Freeze"]
[http://effbot.org/zone/exemaker.htm ExeMaker] - Creates EXE loaders for Python scripts (for Windows)
["Freeze"] & [wiki:Py2Exe py2exe] - building executables for Unix & Windows
[http://www.jrsoftware.org/isinfo.php Inno Setup] - use to wrap up the output of the above into a Windows exe
MacPython BundleBuilder (Mac OS X)
[http://davidf.sjsoft.com/mirrors/mcmillan-inc/install1.html McMillan's Installer]
[http://undefined.org/python/#py2app py2app] - Converts Python scripts into executable Mac OS X applications
See also:
(FIXME: dead link) [http://www.mcmillan-inc.com/install1.html McMillan's page] about (other) distributing solutions.
Thinki's PythonInstallers.
See also:
- ["buildout"]
System Package Distribution
Although [wiki:DistUtils distutils] supports the production of some system packages, other tools exist to make such packages:
[http://www.showmedo.com/videos/video?name=linuxJensMakingDeb&fromSeriesID=37 ShowMeDo video] (and wiki) on how to create a Debian package (.deb) from a python program (.py). This is useful if you want to distribute to Debian based Linux Systems like [http://www.debian.org Debian] or [http://www.ubuntulinux.com Ubuntu].
(Someone needs to explain eggs.)