[Python-Dev] PEP 397 (Python launcher for Windows) reference implementation

Paul Moore p.f.moore at gmail.com
Sun Jul 3 17:39:07 CEST 2011


On 30 June 2011 13:50, Paul Moore <p.f.moore at gmail.com> wrote:
> On 30 June 2011 12:13, Michael Foord <fuzzyman at voidspace.org.uk> wrote:
>> I have that email (the update one from Mark not the silent nodding from Tim)
>> still sitting in my inbox waiting for me to properly read through and
>> comment on... Sorry for being useless, I'll try and move it up the priority
>> list.
>>
>> I really like the PEP and think it will be a *huge* step forward for Windows
>> users - so it's purely the details that need thrashing out (heh).
>
> That's my situation, too. I'll try to look through it properly in the
> next day or two.

OK, having looked through this, it looks pretty solid to me. I might
try installing Vinay's implementation and seeing how it feels in use,
as well...

On restoring associations, I think it's entirely reasonable not to
bother. It would be nice if py.exe remained installed as long as any
(all-users) Python installation remained on the PC, but this may be
complicated (given that older versions won't uninstall it) so maybe
don't even bother with that.

Actually, I'd question whether this shouldn't be packaged as a
separate application, available as an independent download from
python.org (I do think it's important enough to be hosted on
python.org rather than PyPI, though). Future versions of python could
bundle it as well, but that could be purely for convenience and to
ensure that users don't miss it.

If Python does bundle it, then I'd suggest that it remain a separate
item in add/remove programs. That allows the user to choose whether to
uninstall it or not. As py.exe and python live in separate directories
(except in per-user installs) the installers don't have any nasty
interactions like who deletes the directory to worry about. If you
want to bother with an "active installation count" mechanism (whether
SharedDLLs or a simple count/listing in the py.ini file, or something
else) then when the count hits "No", just offer the user the choice to
uninstall as part of the Python uninstall.

I'd be inclined not to worry too much about per-user installations.
Are per-user file associations possible? I've never used them, myself.
As a simple approach, just install py.exe alongside python.exe in the
user dir, don't worry about it being on PATH or having a separate
add/remove programs item, and let the user do what he wants with it.
Of course, if someone with more experience of per-user installs and
the sorts of environment where they are needed wants to suggest
something different, believe them rather than me!

Basically, my feeling is that the core functionality is fine. Nothing
in this will make life worse for anyone, so we can safely leave corner
cases to be addressed later (with a standalone release, if it's urgent
enough).

Paul.


More information about the Python-Dev mailing list