Packaging a python program

From Freehackers
Revision as of 13:29, 31 July 2007 by Bluebird (talk | contribs) (New page: The goal is to take an existing python program and distribute it as a self-contained executable, that does not require python are any python module to be installed. == Py2exe == * windows...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The goal is to take an existing python program and distribute it as a self-contained executable, that does not require python are any python module to be installed.

Py2exe

  • windows only
  • support for com servers, nt services and all the other windows stuff.
  • reasonably well documented, works well.
  • manage binary dependancies

PyInstaller

  • windows and unix
  • no support for zipfile import (introduced in python 2.3), so even works with

python 1.5.

  • can package data files inside your executable.
  • manage binary dependancies on linux

cx_Freeze

  • windows and linux
  • zipfile import support
  • no binary dependancies handling on linux

bbfreeze

  • windows and linux
  • zipfile import support
  • manage binary dependancies on linux

bbfreeze is the only one, which handles eggs and zipfile imports transparently (and therefore also provides a mechanism for including data files using setuptools pkg_resources module).

py2app

  • MacOs X only

And the winner is

PyInstaller !

It seems to have the best documentation, and to support all the features I need at the moment. I don't need zipfile import or egg import.