On 16 November 2017 at 05:29, Zachary Ware <zachary.ware+py...@gmail.com> wrote:
> On Wed, Nov 15, 2017 at 1:07 PM, Steve Dower <steve.do...@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. > I'd missed Steve's post before writing my last one. This sounds like a really nice technical solution to me, too, especially as it will handle Python 2 as well (even for Python 2 only systems, the launcher is available as an independently installable executable). Regardless of the underlying implementation details though, a PEP would be a helpful way of writing it up so we can make sure packaging.python.org and other resources properly account for it. Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/