What to use for installation?

Roger Binns rogerb at rogerbinns.com
Thu Dec 2 17:20:37 EST 2004


"Eugene Morozov" <eugene-ml at renice.org> wrote in message news:conun6$k9o$1 at news.rol.ru...
> But I want to know other opinions before going with scons. What is the best tool for installing python applications?

The tools you mention are actually more applicable to Python packages
in that they install the code into an existing Python install on
the machine.

For applications most people want standalone programs that the user
doesn't know or care is written in Python and doesn't have any
dependencies on things already installed on their system.

In that case you can use a Freezing tool which will package up
an executable stub, your code, the interpretter dll/so and other
binary/source modules you may use (eg GTK in your case).  This
will give you a single directory with no dependcies that will
run your program.

Then you can use an installer that is platform specific.  For
example on Windows you'll want the program to install from a
setup.exe and be in the Add/Remove programs list in the Contol
Panel.  On Linux you'll want it added to KDE/Gnome user menus.

For freezing tools, there are:

  - cx-Freeze (Windows, Linux, Mac?)
  - py2exe (Windows)
  - McMillan Installer (Windows, Linux, Mac?)
  - py2app (Mac)
  - bundlebuilder (Mac)

For installers, there are:

  - InnoSetup (Windows)
  - NSIS  (Windows)
  - rpm/dpkg (Linux)
  - dimg tools (Mac)
  - EPM (Linux/Unix)

IMHO the best of breed are

    Windows:  py2exe/InnoSetup
    Linux:    cx-Freeze/rpm
    Mac:      py2app/dimg

Other people use other combinations and have their favourites.

You can see some slides from a talk I did a while back that
goes into a little more detail, as well as giving an idea
of how much "code"/templates were written for the bitpim
project to use a freezer/installer on Windows, Linux and Mac.

http://bitpim.org/papers/baypiggies/

(See slides 18 thru 22).

Roger 





More information about the Python-list mailing list