
On Wed, Nov 15, 2017 at 1:07 PM, Steve Dower steve.dower@python.org wrote:
My preferred solution for this is to rename "py.exe" to "python.exe" (or rather, make a copy of it with the new name), and extend (or more likely, rewrite) the launcher such that:
- if argv[0] == "py.exe", use PEP 514 company/tag resolution to find and
launch Python based on first command line argument
- if argv[0] == "python<numeric tag>.exe", find the matching
PythonCore/<tag> install (where tag may be a partial match - e.g. "python3.exe" finds the latest PythonCore/3.x)
- else, if argv[0] == "<module><numeric tag>.exe, find the matching
PythonCore/<tag> install and launch "-m <module>"
With the launcher behaving like this, we can make as many hard links as we want in its install directory (it only gets installed once, so only needs one PATH entry, and this is C:\Windows for admin installs):
- python.exe
- python2.exe
- python3.exe
- python3.6.exe
- pip.exe
- pip2.exe
- pip3.exe
I haven't been following this thread closely, but this sounds lovely. I'm not terribly keen on cluttering up C:\Windows with this, but that's a minor issue.