[Python-ideas] Make py.exe default to Python 3
Andrew Barnert
abarnert at yahoo.com
Wed Mar 16 11:29:39 EDT 2016
On Mar 15, 2016, at 13:58, Steve Dower <steve.dower at python.org> wrote:
>
>> On 15Mar2016 1231, Random832 wrote:
>> I think what might be most appropriate would be to have a "Python
>> Console" in the start menu (alongside the IDLE entry) which sources a
>> bat file to add the correct python version (and the scripts directory
>> for pip and easy_install) to that window's PATH, rather than installing
>> it in the global PATH, and users can learn to start the console from
>> that icon when they want to run python commands. Inspired by the fact
>> that e.g. Visual Studio has something that does the same.
>
> This is one of two solutions I'd be comfortable with.
>
> The other is to rename "py[w].exe" as "python[w].exe".
>
> PATH is used to resolve system DLLs and common commands. Over time, better security features are being added for core system components, but it is still possible to hijack programs this way.
But isn't the whole point here that we want novices to be able to treat python and/or python3 as a "common command", just like py?
That implies either putting the executable in an existing PATH directory, or adding the executable's directory to the PATH (or, of course, renaming py, as you suggest, since that already gets put into an existing directory).
> It also has a serious conflict problem once the second version of Python is installed with this option enabled, in that *anything* currently referring to just "python" will change.
If this is only intended for rank beginners, what about just disabling the checkbox, with a warning, if there's already a program named "Python" anywhere on the PATH? Then, when someone gets into trouble because they're installing two Pythons, they'll get a warning and be able to ask their teacher or search StackOverflow or whatever and get a quick answer. And that means we don't have to solve the conflict problems, the uninstall leave-behind problems, etc. for multiple pythons.
More information about the Python-ideas
mailing list