On Wed, Mar 16, 2016 at 10:32 AM, Paul Moore <p.f.moore@gmail.com> wrote:
On 16 March 2016 at 17:17, Chris Barker <chris.barker@noaa.gov> wrote:
> As in:
> If someone installs a version of python with defaults, they should then get
> that version when they type "python" (or maybe "py") at the command line.
> If they want something other than the last one they installed, then they'll
> have to mess with PATH or other configuration...

In theory, this makes sense to me. What it needs is someone to
champion it.

Isn't that what this conversation is doing? :-)
1. What if I want to install a version *not* for day to day use but
just for testing (i.e., there needs to be an easily accessible "leave
PATH alone" option).

yes, there should be a "leave PATH alone" checkbox, that is unchecked by default. If you want to get really fancy, you could require a question be asked of the user if there is already a python there. I have no idea if it's had to do this in a regular installer.
2. How does this interact with uninstalls and upgrades? If I install
3.7, then 3.8 then uninstall 3.7, then install 3.6, then upgrade 3.8
to 3.8.1, what's left on PATH? (The answer I *want* is 3.8.1. That may
well be a nightmare to implement).

wait, I'm confused -- if the last thing you do is upgrade to 3.8.1, then that will be in the PATH by default, but what if you:

install 3.7, then install 3.8, then uninstall 3.8 -- would 3.7 be left on the PATH?

That could be pretty darn tricky -- though, again, if you undestand PATH manipulations, you can fix it, and if you don't you can go back and re-install 3.7, just to get the PATH set.

It's easy enough to dismiss point (2) as "well, you know what you're
doing", but I have experience of people doing a series of installs
like this, getting confused with PATH and doing a google search to
find out how to "fix" it. So it is a genuine situation a non-expert
user could find themselves in.

yup but if their google search turns up:

"either hand-manipulate the PATH to fix this, or simply re-install the one you want" then we're in fine shape. It's not rare for "re-install the software" to be the easiest solution to messed up configuration.

> After all, what do people expect when they have MSWord version X, and then install MSWord version X+1

But nobody *ever* runs multiple versions of MS Word. Whereas there are
genuine reasons for people (and not just experts, although admittedly
not complete beginners) to run multiple versions of Python. The MS
Word argument implies that the Python installer should automatically
and silently uninstall any older versions of Python present on the
user's machine.

no -- but it wouldn't be so bad if it did *appear* to have done that. The naive user will not be surprised -- it's common behavior -- and just reinstall the old one, even if all it does is re-set the PATH. The more sophisticated user will know to go in and mess with PATH.

In short, if we overly simplistically break the world down inot people that "get" PATH, and those that don't:

The default jsut click through witout reading it intstall should do the most expected thing for don't-get-PATH folks -- i.e. they get access to the mosst recent version installed.

It should be possible for do-get-PATH folks to customize the system (ideally without having to get the registry, too!)



Christopher Barker, Ph.D.

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception