Bundling an application with third-party modules

Ben Finney ben at benfinney.id.au
Wed Jun 14 01:14:00 EDT 2006


Howdy all,

I'm improving an existing application that's partly written using
Python and the standard library. Many of the improvements I want to
make can be done by using third-party free software.

The immediate customer for this application is happy to install Python
on their machine, but I'd like to remove the hassle of asking them to
continually install new versions of great third-party Python software
that isn't packaged for their OS. I want to supply those modules as
part of implementing my application.

What I'd like to do is:

  - Pull down the external packages and modules from the internet

  - Put those things in a predictable location within my application's
    source tree

  - Have the third-party stuff be placed in a location specific for
    this application, so that I know my application is using exactly
    what I pulled down from the internet

  - Have the implementation of my application, and all the new
    versions of whatever third-party software I use, be automated with
    a command I can give to the customer

I specifically *don't* want the third-party packages to need to be
installed explicitly by the customer. I would prefer if all this can
be done without needing root access on the implementation machine.

What kind of infrastructure am I looking at? Python eggs, for my
application and all its dependencies? That would likely involve making
eggs of other people's programs. Moving files around and diddling the
system path?

I would expect this type of requirement isn't particularly unique. How
have other people solved it?

-- 
 \      "Well, my brother says Hello. So, hooray for speech therapy."  |
  `\                                                    -- Emo Philips |
_o__)                                                                  |
Ben Finney




More information about the Python-list mailing list