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

James Y Knight foom at fuhm.net
Tue Mar 1 23:15:50 CET 2011


On Mar 1, 2011, at 5:06 PM, Guido van Rossum wrote:

> On Tue, Mar 1, 2011 at 1:26 PM, Eric Smith <eric at trueblade.com> wrote:
>> On 3/1/2011 4:19 PM, Kerrick Staley wrote:
>>> 
>>> Hello,
>>> There is a need for the default Python2 install to place a symlink at
>>> /usr/bin/python2 that points to /usr/bin/python, or for the
>>> documentation to recommend that packagers ensure that python2 is
>>> defined. Also, all documentation should be changed to recommend that
>>> "#!/usr/bin/env python2" be used as the shebang for Python 2 scripts.
>>> This is needed because some distributions (Arch Linux, in particular),
>>> point /usr/bin/python to /usr/bin/python3, while others (including
>>> Slackware, Debian, and the BSDs, probably more) do not even define the
>>> python2 command. This means that a script has no way of achieving
>>> cross-platform compatibility. The point at which many distributions
>>> begin to alias /usr/bin/python to /usr/bin/python3 is due soon, and for
>>> the next couple of years, it would be best to use a python2 or python3
>>> shebang in all scripts, making no assumptions about plain python, which
>>> should only be invoked interactively. This email from about 3 years ago
>>> seems relevant: :
>>> http://mail.python.org/pipermail/python-3000/2008-March/012421.html
>>> Again, this issue needs to be addressed by the Python developers
>>> themselves so that different *nix distributions will handle it
>>> consistently, allowing Python scripts to continue to be cross-platform.
>>> 
>> 
>> I believe we agreed at the language summit last year (or maybe even the year
>> before) that "python" would always be python2.x, and "python3" would be
>> python3.x.
>> 
>> And by "always" we indeed meant forever. To do otherwise would break scripts
>> even many, many years from now.
> 
> Unfortunately distros are not following these guidelines. As long as
> we still have the pythonX.Y links I think it's better to have
> "python2", "python3" and "python" than total anarchy.

If python upstream would make it clear that that *IS* the policy, distros might follow it. Right now, there is no clear guidance, as far as I can tell. If you do not want distros making python be a link to python3, please say so loudly, preferably on a webpage on python.org that users can point the distros to.

James



More information about the Python-Dev mailing list