Distributing applications

Jaime Wyant programmer.py at gmail.com
Wed Mar 2 09:37:42 EST 2005


I wanted a nice tightly-wrapped distribution of my own and really
didn't want to go the py2exe route.  I may have used a sledgehammer to
kill a fly, but here is what I did...

1) Downloaded python source (2.3.4)
2) Modified source, so that sys.path would pull from a registry key
setup by my installer.
2) Compiled python
3) Compiled wxPython 2.5.3.1
4) Bundled my app along with the custom python installation using NSIS.

My `setup.exe' file was 6654281 bytes -- not bad.  Considering its the
entire python distribution (I may have missed a couple of modules --
but i don't think so) and wxPython.

I chose not to use py2exe because it made updating my app a bit
messier.  For instance, suppose I don't use the smtplib module in
version 1 of my software.  Py2exe realizes that and doesn't 'package'
smtplib with my executable.  Now, if I release version 1.1 which does
use smtplib, then I'd have to figure out how to get the updates out
without having the user redownload the entire application.  Granted, I
didn't put much thought into an update mechanism, but it seemed to be
messy at the time.

If I have my own distribution, I can simply give the users an "update"
program that will query  my webserver which will download the latest
version for them automagically.  Because my distribution has all of
the modules already available, I don't have to worry about sending
them any missing modules.  Simply download the latest version of my
app and it works with my custom rolled distribution.

But, this only works for Windows...

jw

On Wed, 02 Mar 2005 09:12:26 -0500, Phillip Mills
<phillip.mills1 at acmdelete.org> wrote:
> I've learned enough of the Python language to be mildly dangerous and
> have used it in a few personal projects.  All my development of
> commercial (or production) products over the past dozen years have been
> done with C++ or Java.
> 
> For a program I'm planning -- to begin during the summer -- having an
> interpreter as part of the application would be very desirable to allow
> sophisticated users to provide their own extensions.  Java would be
> do-able, but....
> 
> My problems are:
>   - I'd like the process of installing the application to be one step;
> no "first download a Python interpreter then a GUI library" kind of
> thing.
>   - I also need the core part of the application to be reasonably
> protected.  I'm not looking to defeat hackers, but something equivalent
> to the way Java's class files stored in jars stay where they're supposed
> to be and aren't immediately readable.
> 
> I've looked at various web sites for this topic, but most I've found are
> just arguments for using the Python language.  OK, I'll pretend I'm
> convinced...now any comments or references on the mechanics of creating
> a self-contained distribution?
> 
> --
> Phillip Mills
> Multi-platform software development
> (416) 224-0714
> 
> ----== Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet News==----
> http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
> ----= East and West-Coast Server Farms - Total Privacy via Encryption =----
> --
> http://mail.python.org/mailman/listinfo/python-list
>



More information about the Python-list mailing list