Distributing applications that use 3rd party modules

Mike Driscoll kyosohma at gmail.com
Sun May 18 13:04:42 EDT 2008


On May 17, 10:13 am, eliben <eli... at gmail.com> wrote:
> On May 17, 3:23 pm, Mike Driscoll <kyoso... at gmail.com> wrote:
>
>
>
> > On May 17, 4:42 am, eliben <eli... at gmail.com> wrote:
>
> > > Hello,
>
> > > I'm getting into Python now after years of Perl, and as part of my
> > > research I must understand how to do some common tasks I need.
>
> > > I have a bunch of Windows PCs at work to which I want to distribute an
> > > application I've developed on my PC. All these PCs have Python 2.5
> > > installed.
>
> > > If my application contains only code I've developed, I simply zip its
> > > directory with .py files and send it to everyone, who can then use it
> > > by running the entry-point .py file. However, what if I've installed
> > > some 3rd party modules on my PC, and my application uses them (for
> > > example pyparsing, PiYAML and some others) ? I don't want to manually
> > > install all these packages (there may be dozens of them) on all those
> > > PCs (there may be dozens of those too). What is the best method I can
> > > use ? Naturally, I want all the non-standard packages my app uses to
> > > be detected automatically and collected into some kind of convenient
> > > distributable that is easy to pass around and run.
>
> > > I'm aware of py2exe - tried it and it works fine. But it creates huge
> > > executables, and I don't want to distribute those all the time. I much
> > > prefer a zipped directory of .py scripts that takes some 10s of KBs.
>
> > > Thanks in advance,
> > > Eli
>
> > You might want to check out Buildout. It allows you to run all that
> > stuff in it's own virtual world, so to speak. I'm planning on playing
> > with it this week.
>
> I looked at its examples and I'm not sure it's what I need. It seems
> useful for other cases though.
>
> > Also, there's this site which has collected the various means of
> > distributing Python apps:
>
> >http://www.freehackers.org/Packaging_a_python_program
>
> This page only talks about the packagers that create .exe files that
> don't need Python installed.
>
> Is there a simple way to find out which packages are used by my
> script ?
>
> Eli

I'm fairly certain you can use that Freeze application to do the dirty
work for you. Or you can just distribute the pyc files...I've heard
that works somehow too.

Mike



More information about the Python-list mailing list