![](https://secure.gravatar.com/avatar/8c5e1532aff89cb93cf9ff1829eaab5d.jpg?s=120&d=mm&r=g)
On 3/7/2011 2:18 PM, James Y Knight wrote:
On Mar 7, 2011, at 3:49 PM, Paul Moore wrote:
The launcher could also (as per Mark's suggestion) interpret a shebang line in the script, so that scripts could specify their required version without needing a different command,or multiple version-specific extensions. Note that, on Unix, "python file.py" doesn't choose the correct version of python to run by looking at a shebang, it just runs the version of python installed as "python". Only "./file.py" looks at the shebang (assuming that file is marked executable).
Is the proposal to make python.exe do that on windows? That is a rather significant difference from the unix behavior.
The launcher need not be called "python.exe", and maybe it would be better called #@launcher.exe (or similar, depending on its exact function details). For launching from the command line, if various versions python binaries or batch files are on the PATH, then appropriate explicit python invocation python foo.py # Just like Unix python2 foo.py python3 foo.py should launch the specified version (where python may be somewhat ambiguous) but foo.py # with the help of a launcher this could be just like Unix too would implicitly use the launcher, as would launching it from the GUI. There are two problems here, explicit command-line invocation, and GUI/assoc invocation. A launcher need not, and probably should not, do anything for explicit python invocation, but would only solve the implicit and GUI type of invocations.