[Python-Dev] #!/usr/bin/env python --> python3 where applicable (original) (raw)

Nick Coghlan ncoghlan at gmail.com
Sun Apr 19 01:19:00 CEST 2009


Benjamin Peterson wrote:

2009/4/18 Mitchell L Model <MLMLists at comcast.net>:

Some library files, such as pdb.py, begin with #!/usr/bin/env python In various discussions regarding some issues I submitted I was told that the decision had been made to call Python 3.x release executables python3. (One of the conflicts I ran into when I made 'python' a link to python3.1 was that some tools used in making the HTML documentation haven't been upgraded to run with 3.)

Shouldn't all library files that begin with the above line be changed so that they read 'python3' instead of python? Perhaps I should have just filed this as an issue, but I'm not confident of the state of the plan to move to python3 as the official executable name. That sounds correct. Please file a bug report.

As Kevin pointed out, while this is a problem, changing the affected scripts to say "python3" instead isn't the right answer.

All that happened with the Python 3 installers is that they do 'altinstall' rather than 'fullinstall' by default, thus leaving the 'python' alias alone. There is no "python3" alias unless a user creates it for themselves (or a distro packager does it for them).

I see a few options:

  1. Abandon the "python" name for the 3.x series and commit to calling it "python3" now and forever (i.e. actually make the decision that Mitchell refers to).
  2. Remove the offending shebang lines from the affected files and tell people to use "python -m " instead.
  3. Change the shebang lines in Python standard library scripts to be version specific and update release.py to fix them all when bumping the version number in the source tree.

Cheers, Nick.

-- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia



More information about the Python-Dev mailing list