[Tutor] Tutor Digest, Vol 40, Issue 54

Alan Gauld alan.gauld at btinternet.com
Sun Jun 24 00:11:06 CEST 2007


"Che M" <pine508 at hotmail.com> wrote in

>>And you can build installers that will install python if its not
>>already there and then add your script. There are few cases
>>where you really need an exe file. IMHO.
>
> Though, yes, you never need to, perhaps you might *want* to, for 
> reasons of
> "marketability".  For example...if I want to make an application for
> distribution to others, either for sale or as freeware, and I use 
> the
> installers option as you mentioned, it is only proper to indicate 
> this to
> the end user, such as, "In installing this application, the Python
> programming language and some other libraries will also be installed 
> on your
> computer."

You could but most Java applications don't warn you that they
are installing the Sun Java JRE onto your system they just do it.
And VB apps don't usually say they are installing VB DLLs on
the system. Of course Python is more than a DLL and you might
like to delete the documentation and sample programs to save
the user space. But a more realistic example is programs which
turn on Active Scripting on a Windows PC. This enables people
to write and run VBScript of JScript programs. Very similar to
Python.

> application"  But downloading a single .exe file and maybe a small 
> folder of
> images or a few .dll files doesn't conjure that sense.  If I 
> understand it
> right, the .exe has Python bundled into it anyway, so such an end 
> user's
> response isn't strictly rational,

So why bother the user, they just get a typical install bundle and
don't need to worry about what run time environment has been
installed?

> Another reason is that, as I understand it, making it an .exe
> obscures the code (at least enough to make it take a bit
> more work to reveal the code).

This is valid but its arguable by how much and whether it would
deter a dishonest pirate much more than a compiled python module.
Or  you might prefer to do a Jython version of your code and
distribute as a Java program instead.

> I may be way off base here, just throwing it out as something
> I've wondered about.

These are valid points but I think they are often grossly over played
and the reality is most folks just think exe because its what they
are used to. IMO Its very much a Windows thing, its very rarely done
in Unix land because there people are accustom,ed to interpreted
applications (in sh, awk, perl, tcl, m4 etc) and their need of an
interpreter. If Unix users can live without it why not Windows users.
Its a matter of changing culture rather than any real technical
advantage. (There may also be a false assumption that an exe
file is somehow inherently faster)

Alan G. 




More information about the Tutor mailing list