Revision 34 as of 2014-04-14 00:58:45

Clear message

Distribution Utilities

General distribution of Python code is typically done using the 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 (with Python Eggs being a form of software distribution provided by the Distutils derivative, setuptools). Such source and binary software distributions are frequently available as operating system packages (a more general form of the term "package" referring not just to code but also to documentation, resources and other things) and can be installed using the package management infrastructure employed by various operating systems - see "System Package Distribution" below.

Executable Applications

The following projects support the production of executable application from Python scripts.

Package

Target

Latest version

Latest update date

Notes

bbfreeze

Create standalone executables from python scripts

esky

An auto-update framework built on top of bbfreeze

cx Freeze

ExeMaker

Creates EXE loaders for Python scripts (for Windows)

Freeze

bundled tool to build executables (Unix-only?)

py2exe

Transform Python scripts into standalone Windows executable

py2app

Converts Python scripts into executable Mac OS X applications

McMillan's Installer

Includes notes about (other) distributing solutions

PyInstaller

Derived from McMillan's installer

Installers

Installers are sometimes needed to wrap up the output of freeze tools into packages:

See also

System Package Distribution

Although Distutils supports the production of some system packages, other tools exist to make such packages:

Distribution Using Virtualisation

It is possible to distribute entire systems which can then be run under virtualisation or as "live CD" environments. Some solutions attempt to incorporate such approaches in a way which is transparent to the user:


CategoryDistutilsCookbook

Unable to edit the page? See the FrontPage for instructions.