[Python-Dev] PEP397 no command line options to python?

Mark Hammond skippy.hammond at gmail.com
Wed Oct 19 01:18:32 CEST 2011


On 18/10/2011 8:59 PM, Sam Partington wrote:
...

> I added shebangs to
> all files as appropriate for devel/stable branch, and initially I
> changed the python build targets from "python -utt build.py" to
> "./build.py" and I lost the -utt functionality which I could live
> with.

Can't you just put the -utt options in the shebang line of build.py?

> But on some of the windows machines the default action of python
> files was to open an editor with the build.py. So I changed it to "py
> -utt build.py". Everything seemed fine initially until tests started
> to fail which ensued some head scratching.  I actually didn't figure
> out what was going on until I noticed that SCiTe was also calling the
> wrong python because it also had "py -utt" to run python scripts.
> Incidentally, one of my colleagues also discovered the same issue in
> his eclipse pydev setup. I also notice that Editra also does "python
> -u" by default, and I can imagine lots of users swapping "python" with
> "py".

Why would users choose to do that?  Using "python" presumably already 
works for them, so what benefit do they get?  If the main advantage is 
they can now use shebang lines, then the specific options the script 
wants can be expressed in that line.

I wonder if we just need to make it clear that py.exe is not designed to 
simply be a replacement for python.exe - a simple replacement adds no 
value.  It is designed to bring shebang processing to Python on Windows 
and the shebang line is where these args should live.  If you want finer 
control over things, just keep using python.exe.

Also, seeing it is much easier to add a feature later than to remove it, 
we should err on the side of not adding the feature until it is clear 
that many people want it and ensure we aren't creating other 
inconsistencies or issues when we do.  If it turns out to be true that 
even with clear documentation people come to the same conclusion as you 
(ie, that py.exe supports arguments the same way as python.exe) we still 
have the option of adding it.

Cheers,

Mark


More information about the Python-Dev mailing list