Is there a small Python runtime environment installer?

David Bolen db3l at fitlinxx.com
Fri Oct 19 15:58:37 EDT 2001


"Tex Riddell" <tex_r at hotmail.com> writes:

> I detect a hint of sarcasm here.  Of course, that's not what I meant.  I
> meant binary installers for each platform that would set up a similar
> environment for running your scripts in, regardless of end-user's platform.

Sorry, no sarcasm intended.

> I was just looking for something smaller and simpler.  If you read further,
> I mention clumping/compressing multiple files into single archives to keep
> things reasonable small.  I don't expect to have to sit over the shoulder of
> the user who is installing a python distribution and tell them to de-select
> this, and that, oh, and that, drill down, and this and that...  I just want
> a simple, configurable, re-distributable runtime.  Because of scripts,
> utilities and the like, the default ActivePython installs about 24 megs of
> stuff in so many files that depending on the file system could take up as
> much as 70 megs of space on the user's HD.  That's a little much to ask just
> so they can run a little utility script I want to send them.

Hmm, you could try some of the other builds.  The standard Python
installation from www.python.org (about 6.7MB as an installer) which
is the one I was referencing will get you about 20MB installed in one
directory tree, and one file in the system directory as a full
installation.  If you unclick all entries (a total of 4) other than
"Python interpreter and libraries" it's down to about 6MB.

True, if your scripts will use any other packages (such as the
Pythonwin extensions) you need to install that separately, but at
least for Pythonwin it's a single standard Windows installer as well
that automatically finds the current installation and augments it, no
options to worry about.

I was only suggesting these since if you're concerned about ease for
the end user, this is really the simplest way to go to get the runtime
environment on a machine (unless you build self-installing exes for
each of your users)

> You missed my point, if you are installing office, you would be expected to
> know what office *is*, therefore knowing what options you want and do not
> want installed.  When my friend is installing Python, all they know is that
> it is something that'll make the stuff I send them run.  They will select
> default installation, because they couldn't know any better.

But is that really a problem?  Given disk space nowadays, is it really
a problem to get a few extra MB installed if you just want to take
defaults and not worry about just what is required?

(You may over-estimate the problem BTW - at least the standard Python
 installer only has 4-5 options and they're pretty easy to let them
 know to eliminate which ones if they're concerned with disk space.)

> I am aware of this option, but as my script is a small simple shell script,
> not a stand-alone GUI app, if I wanted to send more scripts, I would have to
> build more installers!  These seem to only try to track the dependencies of
> a single application, then bundle only these parts in the installation.  I'm
> not prepared to write a setup program just to install a utility script...
> I've wasted too much time on this already!

At least to me it seems like you've got to go one way or the other.
Either you give the person the Python RTL (which is no worse than most
other RTLs they have on their system already) one time, which uses a
standard Windows installer, or you figure out a way to include it in
each of your distributions to them.

> exactly!  Do you at least understand what I'm trying to get at?  Imagine
> python was like html.  End users typically have a web browser that includes
> a set of standard features built around the standard.  Those end users need
> not install development kits in order to view an html file.  They simply
> download a web browser.  Also people distributing an html file wouldn't need
> to build a browser around their file that included only the features that
> thier file used and send it to the user!

I don't know about you but my web browser keeps making me install
stuff in order to view more and more web pages.  And keeping it
upgraded means I install a massive download (to my Windows machines)
and take up quite a bit of disk space.  And there's a ton of options
about patches, and security updates and service packs, and so on :-)


There is another "poor mans" option - take a Python install that you
have on your system, and then prune it down to what you really want.
Put those files together into a standard self-extracting ZIP (or
package them up with an installer like Inno Setup) and supply that
to your friend.  You can make that Python RTL as small as you want.

That's how I set up our distributions to remote systems, which
basically get the executable, DLL and the lib directory for package
files (and in fact I only send the pre-compiled versions).  It's more
work on you but would both minimize disk space on the target system
and relieve the end user of selecting any options.  To be honest
though, you end up almost maintaining your own build and I'm not sure
the gain (over for example just biting the bullet and running the
standard Python installer) is worth the cost.

--
-- David
-- 
/-----------------------------------------------------------------------\
 \               David Bolen            \   E-mail: db3l at fitlinxx.com  /
  |             FitLinxx, Inc.            \  Phone: (203) 708-5192    |
 /  860 Canal Street, Stamford, CT  06902   \  Fax: (203) 316-5150     \
\-----------------------------------------------------------------------/



More information about the Python-list mailing list