[Python-Dev] [PEPs] Support the /usr/bin/python2 symlink upstream

Reliable Domains reliable.domains at gmail.com
Tue Mar 8 03:31:19 CET 2011


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.


More information about the Python-Dev mailing list