[arch-dev-public] [RFC] Python 3.3.0 and PEP 394

Stéphane Gaudreault stephane at archlinux.org
Thu Sep 13 13:03:22 EDT 2012

Le 2012-09-13 08:04, Allan McRae a écrit :
> On 13/09/12 21:53, Stéphane Gaudreault wrote:
>> Le 2012-09-13 00:18, Allan McRae a écrit :
>>> On 13/09/12 10:00, Stéphane Gaudreault wrote:
>>>> Python 3.3.0 should be released around September 22. I would like to
>>>> take this opportunity to implement some of the recommendations of the
>>>> PEP 394 [1]. This PEP was mostly done in reaction to what Arch did to
>>>> the /usr/bin/python symlink (in summary, most python devs are against
>>>> the move to python3 as a default at this time).
>>>> In short:
>>>> python2 should refer to some version of Python 2.x
>>>> python3 should refer to some version of Python 3.x
>>>> python should refer to the same target as python2 but may refer to
>>>> python3 on some bleeding edge distributions
>>>> This means that we should never have a reference to '#!/usr/bin/python'
>>>> in any of our packages. All those reference should be changed to
>>>> /usr/bin/python2 to refer to Python 2.x and /usr/bin/python3 for Python
>>>> 3.x. The idea here is that a system without any python symlink should
>>>> work without problem. Maybe namcap could be used to detect wrong
>>>> shebang ?
>>> This is necessary as far as I am concerned.
>>>> Another possibility, suggested by Allan, would be to go even further and
>>>> use /usr/bin/python3.3 and /usr/bin/python2.7 for all shebangs. Then
>>>> /usr/bin/python can point to any version and /usr/bin/python2 and
>>>> /usr/bin/python3 can point to any pyhton2.x and python3.x respectively.
>>>> These numbers in the shebangs will be changed when python bump is
>>>> version number as we need to rebuild almost everything anyway.
>>> I'm leaning towards that being to much effort.  Just using
>>> python2/python3 should be enough.
>>> One thing not mentioned in this email is that we really need to sort out
>>> the package naming in the repos.  Two options:
>>> python-foo
>>> python2-foo
>>> or
>>> python3-foo
>>> python2-foo
>>> I personally would go for the first option, under the assumption that
>>> python4 will not exist for many years.
>>> Allan
>> I did not mentioned the packages name because I am fine with the statu
>> quo on this.
> What is the status quo?   Something called python-foo can be either
> python2 or python3 at the moment.
I mean that I don't really care if we use




even if I have a preference for the latter (also used in many other distro).

However, it would be nice if we could have consistent maning across all 
the packages at the end of the python 3.3.0 rebuild.

More information about the arch-dev-public mailing list