[Python-Dev] Python launcher command line usage (Was: 3.2.1 encoding surprise) (original) (raw)

Terry Reedy tjreedy at udel.edu
Wed Jul 20 20:38:47 CEST 2011


On 7/20/2011 3:22 AM, Paul Moore wrote:

On 20 July 2011 03:21, Terry Reedy<tjreedy at udel.edu> wrote:

Suppose for Windows there were one '.../python' directory wherever the user first asks it to be put and that all pythons, not just cpython, are installed in directories below that and that the small startup file is copied into or linked from the python directory. Then the one python directory could be put on the path and left there and never removed by any python de-installer (unless perhaps it check that there are no subdirs and asks the user. Hmm. Suppose that directory was "C:\Program Files\Python Launcher" (or "C:\Windows\system32" if you don't want to add an extra directory to PATH). And suppose that instead of having a startup file per Python installation you have a single file called py.exe. Then you have the launcher! Plus, the launcher has its own uninstaller, making it a "normal" part of the Windows environment, rather than being a directory created by something which doesn't get uninstalled. Plus, the launcher has a means of dealing with the "generic" python, python2 and python3 commands, which your proposal doesn't. Plus, the launcher deals with existing versions of Python, which your proposal doesn't (except by manual intervention). But yes, the idea is sound, which is why it's so similar to what Vinay did with the launcher IMO.

Many installers first make an organization directory and then an app directory within that. This annoys me sometimes when they only have one app to ever install, but is useful when there might really be multiple directories, as in our case. (Ditto for start menu entries.) This is what python should have done a decade ago. Now is not too late.

The launcher has to be in a directory somewhere on the path. That directory could just as well be 'our' directory. The two proposals overlap but are not mutually exclusive. For future pythons, 'python33' is easier to remember and type than 'py -v 3.3' or whatever the proposed encantation is.

A python directory also gives a sensible (though optional) place to put other interpreters and even python-based apps. The launcher does not.

-- Terry Jan Reedy



More information about the Python-Dev mailing list