What to use for installation?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Eugene Morozov

    #1

    What to use for installation?

    Hello!
    I wrote a crossplatform Glade/GTK+ application for learning foreign
    languages (it is called Snakememory but doesn't have site in English yet).

    Currently it works from the directory where it was unpacked. But I need
    installation script that will compile and install translations, install
    application on Unix or create installation bundle for Windows.

    I have a three choices: distutils, make and scons. I think that
    distutils can't handle many tasks and make will require installing the
    whole cygwin for packaging on Windows, so the only remaining choice is
    scons.

    But I want to know other opinions before going with scons. What is the
    best tool for installing python applications?
    Eugene
  • Roger Binns

    #2
    Re: What to use for installation?

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

    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.



    (See slides 18 thru 22).

    Roger


    Comment

    Working...