People choosing Python 3

Chris Angelico rosuav at gmail.com
Mon Sep 11 08:07:31 EDT 2017


On Mon, Sep 11, 2017 at 10:00 PM, Pavol Lisy <pavol.lisy at gmail.com> wrote:
> On 9/11/17, Thomas Jollans <tjol at tjol.eu> wrote:
>> On 2017-09-10 09:05, INADA Naoki wrote:
>>> I saw encouraging tweet from Kenneth Reitz.
>>>
>>> https://twitter.com/kennethreitz/status/902028601893294081/photo/1
>>>
>>> On Heroku, most people choose Python 3!
>>> I know, it's because Python 3 is the default Python on Heroku.
>>>
>>> I can't wait Python 3 is the default Python of Red Hat, and "python"
>>> command means Python 3 on Debian and Ubuntu.
>>
>> https://www.python.org/dev/peps/pep-0394/
>>
>> Debian follows PEP 394, which recommends that "python" point to python2,
>> and I don't see that changing any time soon (certainly not before RHEL
>> includes python3 by default.
>
> Which part of third party ecosystem surrounding Python 3 is not (and
> could not be any time soon) sufficiently mature?

That isn't the problem; the problem is one of ambiguity. If the
command "python" sometimes means Py2 and sometimes Py3, it's hard to
write cross-platform scripts.

The current recommendation is to have "python2" always mean Python 2.x
and "python3" always mean Python 3.x; cross-platform scripts should
always use one of those, unless they are 2/3 compatible (and can
therefore run on either). But until virtually every current OS is
shipping Py3 by default and not depending on Py2, changing the meaning
of "python" would be problematic.

Fortunately, it's not that hard to type "python3" all the time. OS
distributions can progressively shift to using that name, and then
eventually not ship a Py2 until/unless something depends on it, all
without losing backward compatibility.

ChrisA



More information about the Python-list mailing list