[Python-Dev] Promoting Python 3 [was: PyPy 1.7 - widening the sweet spot]

Barry Warsaw barry at python.org
Tue Nov 22 23:14:07 CET 2011

On Nov 22, 2011, at 06:10 PM, Xavier Morel wrote:

>It's definitely not going to replace the Apple-provided Python out of the
>box, so setting `python` to a python3 is not going to happen.

Nor should it!  PEP 394 attempts to codify the Python project's
recommendations for what version 'python' (e.g. /usr/bin/python) points to,
but I think there is widespread agreement that it would be a mistake to point
it at Python 3.

>It doesn't define a `python3`, so maybe that? Is there a document
>somewhere on what kind of things distros need for a transition plan?

This is probably fairly distro specific, so I doubt any such document exists,
or would be helpful.  E.g. Debian's approach is fairly intimately tied to its
build tools, rules files, and policies.  There is, in fact, a separate Python
policy document for Debian.

What this means for Debian is that well-behaved distutils-based packages can
be built for all available Python 2 versions with about 3 lines of code in
your debian/rules file.  You don't even really need to think about it, which
is especially nice during Python version transitions.  Of course, in Ubuntu,
we'll never have to do one of those again <pep-404-wink>.

The tools are not quite there for Python 3, though they are being actively
worked on.  This means it takes more effort from the distro packager to get
Python 2 and Python 3 binary packages built (assuming upstream supports both),
and to built it for multiple versions of Python 3 (not an issue right now
though, since 3.2 is the minimum version we're all targeting).  It's
definitely possible, but it's not as trivially easy as it usually is for
Python 2.  I fully expect that to improve over time.

I do occasionally fiddle with MacPorts, and have used Gentoo's system in a
previous life, but I don't really know enough about them to make anything
other than general recommendations.  OTOH, I think Fedora's and Debian's
experience is that separate Python 2 and Python 3 stacks is the best way to
avoid insanity for operating systems and their users.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-dev/attachments/20111122/6433072f/attachment.pgp>

More information about the Python-Dev mailing list