Why I love python.
Christopher T King
squirrel at WPI.EDU
Fri Aug 13 16:03:24 EDT 2004
On Fri, 13 Aug 2004, kosh wrote:
> On Friday 13 August 2004 1:34 pm, Christopher T King wrote:
> > On Fri, 13 Aug 2004, kosh wrote:
> > > Why is there a need for a stand alone executable? At least on all the
> > > unixes whether something is executable is just determined by the
> > > executable bit on the file.
> >
> > Not if you don't have the interpreter installed.
>
> So install the runtime. If you want to run the .NET stuff you need to
> have the the .NET CLR or Mono installed. If you want to run java apps
> you need the jvm etc.
And if you want to run Python scripts you need the Python interpreter
installed.
> Overall once a runtime is installed it makes distributing apps a lot
> easier since the actual thing you need to send someone is tiny.
Oftentimes users will only have one Python app. They'd much rather
download a 2MB ZIP file and dump it somewhere, than download a 20MB Python
distribution and install it somewhere, download XMB of extension modules
needed by the app (e.g. PIL, numarray, to name a few), and then finally
download and install your script.
> Also at least on unixes I have not run into a box in about 6 years or so
> that did not have python and perl installed so in practice I have not
> run into that problem.
And hence the lack of an executablization program for Unix.
> Overall it would be better if there was an easy way on windows to get the
> runtime installed since then you can send users far smaller files, smaller
> updates and it makes it easier for people to patch their systems.
True. I don't see that happening anytime soon, though.
> I have seen more then a few cases where a bug like temp file creation
> was found to be a problem in python and in some c code. However the
> difference is that you can update the python runtime and all affected
> python programs are fixed. The same is not true of the c versions.
What? C programs use a runtime library, just the same as any other
language. Google for "libc.so" or "msvcrt.dll" if you don't believe me.
> One of them I have run into which is a pain is stuff like openssl. When that
> gets updated it seems a whole bunch of programs have to be compiled to work
> with it again. The change is source compatible but for whatever reason the
> bug fix breaks binary compatibility on a number of apps.
That sounds like an openssl-specific problem, perhaps relating to
configuration issues. Since C libraries are linked dynamically, source
compatibility inherently translates to binary compatibility, assuming
functions were not moved to different libraries or rewritten as macros (or
vice-versa).
In a perfect world, all OSes would use proper package management systems,
and single-executable programs would not be needed. Unfortunately, this
isn't true.
More information about the Python-list
mailing list