Hello,

On 07/11/2015 11:20 AM, Chris Angelico wrote:

Yeah, I'd distribute the .py files and have done with it. Maybe do
it up as a package and distribute it via pip, which allows you to
fetch dependencies automatically.

I'm also writing something, and the target audience is Windows users in
a Treasury department, not really a command line crowd.


The supposed ease of "just click on the
program icon" is all very well, but it means you have to have a
whopping new download any time there's an update to your code (they
have to redownload the entire binary even if you're using the same
Python and the same libraries), and you have to distribute a whole
bunch of different versions (32-bit vs 64-bit, possibly different
builds for different Windowses, etc), and deal with the support
issues from people who grabbed the wrong one.

Let the feature creep begin... :

Why not put the updates as diffs/patches? In any given change, there's
only a part of the .EXE that will change and I can't think of a good
reason to download the whole thing again like Google Chrome.

This either requires using some third party tool for the patch, or
rolling one's own.


Once Python itself has been
installed, users can still normally "just click on the program icon"
even though it's a .py file - that's the whole point of file
associations. And then their installed Python can be updated by the
normal mechanisms, and your code will happily run on the new
version. Suppose, for instance, that your program does something over
HTTPS, and people are using it in a critical environment... and then
someone discovers a flaw in OpenSSL, which has happened now and then.
A bugfix release of CPython will fix that instantly for everyone
who's using the standard python.org downloads; but if you've packaged
up your own Python, it'll be frozen at whatever version you had when
you built that - which might not even be the latest available at the
time. How quickly will you get around to building new installers?

Much better to distribute Python code without an interpreter, and
let people get their own interpreters.


I just found this:

https://us.pycon.org/2012/schedule/presentation/393/

It's a talk titled "Deep Freeze: building better stand-alone apps with
Python". I'll watch it later.

ChrisA



--
~Jugurtha Hadjar,
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to