On Tue, Apr 15, 2014 at 4:11 PM, Joshua Landau <jos...@landau.ws> wrote: > On 15 April 2014 23:18, Ned Batchelder <n...@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,
Yes. Software included in Arch, and programs installed via distutils, will both work correctly under Arch. However, it breaks any 2.x code that is expected to run without being installed via distutils and doesn't use the "python2" executable. Which used to be any 2.x program, since "python2" originally didn't even exist in many OSes. It also, at the time of introduction, broke all installed software that wasn't part of Arch itself. I have a few problems with what they did. I don't like how Arch created a situation where it was impossible to support Arch and Debian at the same time with standalone Python 2.x programs (due to a missing python2 and differing python in Debian). I don't like how the migration was not communicated sufficiently clearly to users[*], so that when they saw weird Python errors, they came to the Python community instead of to Arch, overwhelming #python (if not other places) with support requests. (We had to temporarily ban Arch questions to stop people from asking.) I don't like how their new and unusual executable naming scheme forced into existence a PEP [1] to figure out how to bring Python and Debian into line, and I don't like how Debian was forced to do extra work to make life easier for Python 2.x developers and resolve problems that only existed because of what Arch did. They caused a lot of grief, and for what? As far as I can tell, it's was a marketing gimmick -- Arch gets to look cool by being "bleeding edge", and everyone else pays the price. It's worth stating clearly: there is actually no technical benefit to changing what the python symlink points to. If we want to do such a thing, it is for cultural reasons, and there is no urgency to it. It can be done over an extremely long period of time. [*] One might also ask why they didn't do a phase where python2 was python 2.x, python3 was python 3.x, and python was 2.x but also gave a warning to upgrade your stuff because the meaning of the symlink was changing. There is no good reason. The stated reason was that warnings are annoying -- so they broke everything instead of giving warnings. [2] [1] http://legacy.python.org/dev/peps/pep-0394/ [2] https://mail.python.org/pipermail/python-dev/2010-November/105299.html -- Devin -- https://mail.python.org/mailman/listinfo/python-list