5 ms·
I'm an Arch user, and it literally broke nothing for me. Packages were updated, life went on. You seem to be complaining because other distros hadn't done the
by Latty 10y ago
I'm an Arch user, and it literally broke nothing for me. Packages were updated, life went on.
You seem to be complaining because other distros hadn't done the right thing. I don't see how that's Arch's fault. Are we to hold back for the lowest common denominator? Do we need every distro to join together and agree to a switchover date?
There was official guidance from Python on the switchover, this wasn't some maverick decision. It was just moving forward.
Not everyone wants to be tied to ancient stuff for backwards compatibility - if you do, it's your job to deal with that.
- CJefferson 10y agoI thought the official advice was that 'python' should remain 'python2'? from https://www.python.org/dev/peps/pep-0394/ https://www.python.org/dev/peps/pep-0394/ (not yet replaced/update) "for the time being, all distributions should ensure that python refers to the same target as python2 ."
- StreakyCobra 10y agoArchlinux made the switch in 2010 [1], and this PEP was created in 2011. [1] https://www.archlinux.org/news/python-is-now-python-3/ https://www.archlinux.org/news/python-is-now-python-3/
- rlpb 10y agoMy Python 2 scripts on Github start with "#!/usr/bin/python", as do many others. All of these broke for you as an Arch user. Because Arch did what they did, Python now recommends that Python 2 scripts start "#!/usr/bin/python2" (or the env equivalent). > Are we to hold back for the lowest common denominator? Do we need every distro to join together and agree to a switchover date? It's not just other distros; it's the rest of the world, including all of the scripts that people run but distros don't necessarily ship. The right way to migrate would be to ship and use both /usr/bin/python2 and /usr/bin/python3. Leave /usr/bin/python as a symlink to python2 for a while. Eventually, drop the symlink, but do not replace it with python3. Allow users to opt-in to a compat symlink if they wish. Let stuff catch up. When the expectation that "python" is python2 has faded, then introduce a symlink from python to python3 by default, letting users opt-in earlier if they wish. > There was official guidance from Python on the switchover, this wasn't some maverick decision. No, there wasn't, and yes, it was some maverick decision. It was done without consultation with upstream. (I am a non-Arch distribution developer)
- AsyncAwait 10y ago> My Python 2 scripts on Github start with "#!/usr/bin/python", as do many others. All of these broke for you as an Arch user. So you made certain assumptions. Have you made your scripts use python2, which is safer anyway, everything would've been fine, don't blame Arch for your incorrect assumptions.
- rlpb 10y agoNo. Before Arch made their change, that /usr/bin/python is Python 2 was the only possible assumption that could be made. No distribution shipped /usr/bin/python2 at that time. There was no need, because /usr/bin/python was always Python 2. It was only because of what Arch unilaterally did that forced the community to start providing a /usr/bin/python2. Before that, /usr/bin/python2 did not commonly exist at all.
- AsyncAwait 10y ago> It was only because of what Arch unilaterally did Arch is a bleeding-edge, latest software kind of distribution. They did not made the decision 'unilaterally'. They made the decision to ship the latest software for their own distribution, as they always do. It may have proven that a lot of software is extremely poor/inflexible, (i.e. rests on weak assumptions), but I am glad Arch moved forward as that showed their resolve to move technology forward even in the face of a lot of pressure from outside groups. I just think that instead of blaming Arch, try to make your scripts more robust, i.e. loop on all 'python*' binaries in /usr/bin and use the first one whose --version gives you '2.x' instead of relying on /usr/bin/python being python 2 when the latest version is 3 and Arch is known to ship latest software.
- deleted 10y ago[deleted]
- rlpb 10y ago> They made the decision to ship the latest software for their own distribution, as they always do. As did all the other distributions. Shipping Python 3 is not the issue here. Breaking compatibility with all existing Python 2 scripts is what they did. The two are not mutually exclusive. > I just think that instead of blaming Arch, try to make your scripts more robust, i.e. loop on all 'python<glob>' binaries in /usr/bin... You want me to do that in a shebang line? No. That'd be crazy. > ...when the latest version is 3 and Arch is known to ship latest software. See https://en.wikipedia.org/wiki/Application_binary_interface https://en.wikipedia.org/wiki/Application_binary_interface. What Arch did was break the ABI of what /usr/bin/python means, breaking all scripts that relied on that ABI. Shipping the latest software is orthogonal to this. The rest of the world ships the latest software too, but without breaking ABI.
- simplyluke 10y ago> Are we to hold back for the lowest common denominator? Well, the fact that over a decade after the release of python 3 we're _still_ arguing about it shows that lot of people think we should.
- RUG3Y 10y agoThe decision is pretty simple: if a user doesn't like the way Arch does things, they're free to use any of a hundred other distros. I'm with you, I think this is fine.