Martijn Faassen: The Call of Python 2.8

Ned Batchelder ned at nedbatchelder.com
Tue Apr 15 20:39:41 EDT 2014


On 4/15/14 7:11 PM, Joshua Landau wrote:
> On 15 April 2014 23:18, Ned Batchelder <ned at nedbatchelder.com> wrote:
>> On 4/15/14 5:34 PM, Joshua Landau wrote:
>>> Arch is on 3.4 *default*.
>>>
>>>       $> python
>>>       Python 3.4.0 (default, Mar 17 2014, 23:20:09)
>>>       [...]
>>>
>> Yeah, that's the wrong way to do it, and they shouldn't have done that.
>> "python" needs to mean Python 2.x for a long time.
>
> Why?
>
> The only things that break are things outside of the official repos,
> and the vast majority of the user repository works flawlessly. If I
> get something from the source, I normally run it explicitly ("python
> the_thing") and on the very rare occasion it breaks (when it's 2.x and
> uses "python" to mean "python2") I can trivially patch or wrap it, and
> file a bug report.
>
> The python = python3 choice of Arch is not what takes up maintenance
> time, and it's good to prepare developers ahead of time. That's what
> rolling release is all about: getting the best and preparing the rest.
>

The problem is files that use shebang lines:

     #!/usr/bin/python

or:

     #!/usr/bin/env python

If these are Python 2 files, they now don't work.  Keep in mind, these 
might not be files that you have written, they may have been installed 
as part of another package, or written long ago.

For the official statement on "python" meaning Python 2, and more on 
why, see PEP 394: 'The "python" Command on Unix-Like Systems': 
http://legacy.python.org/dev/peps/pep-0394/

-- 
Ned Batchelder, http://nedbatchelder.com




More information about the Python-list mailing list