running python 2 vs 3

Ned Batchelder ned at
Fri Mar 21 02:06:24 CET 2014

On 3/20/14 8:32 PM, Steven D'Aprano wrote:
> On Thu, 20 Mar 2014 16:26:39 -0400, Ned Batchelder wrote:
>> On 3/20/14 3:07 PM, Eric Jacoboni wrote:
>>> Le 20/03/2014 16:21, Marko Rauhamaa a écrit :
>>>> All tutorials will tell you to start it with
>>>>      #!/usr/bin/env python
>>>> which will start python2 on all (?) existing linux distros, but is
>>>> expected to start python3 within the next decade.
>>> With Arch-Linux, python is python3...
>> Yes, and they have been told many times that this was foolish and wrong,
>> but it persists, much to our pain.
> How bizarre. I've been looking forward with great pleasure to Fedora
> moving to Python 3 as the standard system Python, expecting that this
> move from one of the big distros will start a chain reaction of others
> doing the same thing. Perhaps Arch-Linux is guilty of being prematurely
> Python 3, a little like those people hauled up to explain themselves to
> the House Unamerican Activities Committee to explain why they were a
> "premature anti-fascist".

My understanding is that Fedora's move will not include making the word 
"python" mean Python 3.  Their move means that Python 3 will be 
installed by default, and that their Python programs that are part of 
the distro will be Python 3 programs.  They can still refer to it as 

> I have no idea what "our pain" you are referring to, or who "our" refers
> to. In the three or five years or so since Arch-Linux moved to Python 3
> by default, I don't recall ever seeing even a single email from somebody
> confused by Arch-Linux's move, not here, or on the tutor mailing list, or
> on Python-Dev or Python-Ideas. Nor have I seen any signs of difficulty or
> confusion on Python-related blogs, or StackOverflow.

In the #python IRC channel, there's a steady flow of people who run 
programs they find online, and they get a syntax error on "print", and 
we say, "Arch?" and they say, "yup".

Perhaps I overstated the amount of pain.  But Arch's move prompted a PEP 
to be written explaining what the word "python" should mean:

Note that they say there that "for the time being" the word python 
should mean Python 2, anticipating that eventually it will be OK to 
change it to Python 3.  But I think that change would always cause 
confusion, and we should not change it over.  I understand that this is 
a controversial view, and don't hold it strongly enough to defend it. :)

> That's not to say that there has been absolutely none at all. The
> Internet is a big place, and I daresay I've missed something. But given
> how small the Arch-Linux share of the Linux space is, I would be
> astonished if their move caused more than a tiny little ripple. Perhaps a
> paper-cut worth of pain.

It caused enough of a ripple to get PEP 394 written so that people 
wouldn't do it again.

I expect that there have been far more angry
> words written over this issue than the actual consequences of the move
> itself. Unless you're in the unfortunate situation of having to migrate
> and maintain scripts across a network of mixed Linux distros including
> some that are Arch-Linux, it's difficult to see exactly what pain they
> could be causing even in principle.

Ned Batchelder,

More information about the Python-list mailing list