[Python-ideas] Make py.exe default to Python 3

Paul Moore p.f.moore at gmail.com
Thu Mar 17 05:14:25 EDT 2016


On 17 March 2016 at 08:10, Stephen J. Turnbull <stephen at xemacs.org> wrote:
>> > 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.
>
> Really?  To me, it never made a lot of sense even in theory.  It's
> most likely to totally screw exactly the users it's addressed to (the
> ones who don't know how, don't wanna know how, and probably shouldn't
> be allowed[1], to manipulate PATH).

Hmm, I think I follow what you're getting at.

It does seem reasonable to me that if a user installs (a version of)
Python, then they should find that the "python" command works and
executes that version. Particularly so now that a default install of
Python 3.5 on Windows puts the executables in a relatively hard to
locate directory (so manually adding to PATH is tedious). Replace the
"python" command with "py" in this statement and we have the current
behaviour of the Python installer.

I'm OK with conceding that anyone installing a second version of
Python counts as an "advanced" user and should manage the results
themselves :-) (Exception: if you uninstall your current version
first, you're back to the "new install" case).

So for new users (without Python install): "Install your preferred
copy of Python, and use the command py to run Python (either to run a
script, or for interactive use)". Everyone else should be prepared to
accept a (brief) explanation on how to manage multiple versions of
software on their computer. That seems reasonable to me, but I'm not
an educator (at least, I only teach Python to IT professionals). I'm
also inclined to assume that for the *really* "new to IT" users, Idle
(which is available as a start menu item) is a better starting point
anyway.

But as I've already said, I'd rather leave the actual proposals to
people with experience teaching new users. I offer the above simply as
a perspective on how people with too much knowledge to empathise with
complete newcomers might see the arguments :-)

Paul


More information about the Python-ideas mailing list