2158
Comment:
|
2583
Tidied, added brief reference to Python Eggs, virtualisation-based solutions.
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
General distribution of Python code is typically done using the [[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. Such 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. | 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. |
Line 18: | Line 18: |
* [[buildout]] | |
Line 21: | Line 22: |
See also: * [[buildout]] |
|
Line 32: | Line 29: |
== Distribution Using Virtualisation == | |
Line 33: | Line 31: |
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: | |
Line 34: | Line 33: |
(Someone needs to explain eggs.) |
* [[http://www.openlina.com/|LINA]] - running Linux-based applications on other systems |
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.
Installers
The following are projects which support the production of installers or stand-alone executables.
ExeMaker - Creates EXE loaders for Python scripts (for Windows)
Inno Setup - use to wrap up the output of the above into a Windows exe
MacPython BundleBuilder (Mac OS X)
McMillan's Installer - includes notes about (other) distributing solutions
py2app - Converts Python scripts into executable Mac OS X applications
See also:
System Package Distribution
Although Distutils supports the production of some system packages, other tools exist to make such packages:
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 Debian or Ubuntu.
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:
LINA - running Linux-based applications on other systems