On Wed, Mar 16, 2016 at 10:32 AM, Paul Moore email@example.com wrote:
On 16 March 2016 at 17:17, Chris Barker firstname.lastname@example.org wrote:
If someone installs a version of python with defaults, they should then
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
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? :-)
- 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.
- 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!)