Distributing applications that use 3rd party modules

John Machin sjmachin at lexicon.net
Sat May 17 10:19:56 EDT 2008


eliben 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.

What do you call "huge"?

In my environment the end-users don't have Python installed on their own 
PCs, but the team does have a networked shared drive; we put py2exe'd 
applications there. Less complaints about app load time than for things 
like Word/Excel/Outlook, and no complaints from me about distribution, 
and no worries about users running old versions.

Cheers,
John



More information about the Python-list mailing list