(updated) Choosing a collection of common modules/packages for a general purpose reusable PY2EXE runtime
python at bdurham.com
python at bdurham.com
Sat Mar 20 13:46:49 CET 2010
>> We've decided to build a re-usable *general purpose* PY2EXE "runtime"
>> that can be shared by a number of scripts vs. distributing a monolithic
>> EXE for each of our scripts.
> It's not clear what the purpose of this is. You can build several
> scripts against the same py2exe backend.
Yes you can, but with our technique we only build and distribute our
py2exe backend *once*.
Our goal was to build a custom Python runtime that we could build and
deploy once and then augment with the many scripts we distribute and
update. By including the full Python standard library (minus non-Windows
and certain deprecated modules) and a few additional 3rd party
modules/packages (win32, wmi, jsonpickle, etc) our script distribution
has become significantly easier, faster and more robust - especially for
scripts that may make dynamic module imports missed by py2exe. Script
updates are incredibly fast because our clients only download the
scripts themselves (packaged as standalone zip files). Not that disk
space is a concern any more, but our client footprint is significantly
smaller without every script being a single file exe.
I recognize that this technique might not work for everyone, but it has
worked out extremely well for us.
----- Original message -----
From: "Aahz" <aahz at pythoncraft.com>
To: python-list at python.org
Date: 19 Mar 2010 21:39:38 -0700
Subject: Re: (updated) Choosing a collection of common modules/packages
for a general purpose reusable PY2EXE runtime
In article <mailman.491.1268144871.23598.python-list at python.org>,
<python at bdurham.com> wrote:
>We've decided to build a re-usable *general purpose* PY2EXE "runtime"
>that can be shared by a number of scripts vs. distributing a monolithic
>EXE for each of our scripts.
It's not clear what the purpose of this is. You can build several
scripts against the same py2exe backend.
Aahz (aahz at pythoncraft.com) <*>
"Many customs in this life persist because they ease friction and
productivity as a result of universal agreement, and whether they are
precisely the optimal choices is much less important." --Henry Spencer
More information about the Python-list