Python is now Python 3
archlinux.org
archlinux.org
I think Arch's decision was a bit premature, but waiting isn't going to make the issues much less painful if your project will always have to support an 8-year age span of distributions.
This change has only been made in the 'testing' repositories.
Didn't like the move myself. pygtk broke for me and with it a small bunch of other softwares.
20:20 <dash> well that confirms my impression that arch was invented by a bunch of guys who thought gentoo was too stable and easy to use
(Inflammatory, tongue in cheek, but oh-so HHOS.)
I've been using it for over two years now. Makes a great workstation OS. You get the latest releases and all their attended bug fixes, security updates, and yes.. new bugs.
But at least in the Python world, there's still virtualenv, buildout, pip, etc. I rarely install system packages for libs anyway. I don't really see how this is going to bring down the house. At the least if it does work out well and makes enough people happy, there will be more reason for people to hurry up the transition to py3 already.
(An aside: as much as I disagree with py3 forgoing practicality for purity, I wish the transition would be over already so we can get on gettin on).
This seems more like somebody trying to evangelize for Python 3 and against Python 2, by purposely breaking a lot of old software, and quite antithetical to the Robustness Principle that I would expect most good software to at least attempt to shoot for.
Hopefully other distros will take a more conservative path. Python 2.x is going to be around for a long, long time.
I imagine that someone could easily be packaging 10 Python apps or libraries. He can't be upgrading all that code to Python 3 as it is not always a trivial task and would require a lot of work and constant patching if the developing team keeps working with Python 2.X
But overall, I think this is a good way to push developers to upgrade or at least prepare more to move to Python 3.
So package maintainers don't need to rewrite upstream code if it's not compatible with Python 3; they just need to update dependencies and set paths to point to the /usr/bin/python2 binary.
However, there should be no 'default' python. People should go get 2 or 3 as needed. If there is a default it should be the latest version.
There's a big difference between breaking and deprecation.
Actually, the situation is very damaging for Python, because Python has momentum _now_ and many new users are confused and put off by the fact that they cannot use the latest Python version for their projects.
Granted, these issues affect mainly web development, which may not be the main concern of a Linux distribution.
EDIT: I can't find a conclusive decision but here is one discussion on the subject: http://mail.python.org/pipermail/python-3000/2008-February/0...
I'm not saying it's bleeding edge because they're developing in parallel, I'm saying they're developing in parallel because it's bleeding edge.
It's bleeding edge because the developers explicitly refer to it as "the shiny new thing", etc.
1.9.2 should change this.
Also, it's not like anyone should be using the system Ruby anyway. That's really bad practice in my opinion and there's no excuse when rvm exists.
RVM doesn't work with fish. Fish is the biggest innovation in command-line shells in so long, and I'd rather drop RVM than drop fish.
Also, RVM hijacked my 'cd' command, so that 'cd' wouldn't take me back to my home directory any more.
I don't like things messing with workhorse commands that I depend on - 'cd' has to work.
RVM reads .rvmrc files in each directory you change into. How does it do this? By redefining 'cd' to be a function wrapping the real CD command, with some extra RVM stuff in between the changing of directory and return.
Check it out: http://github.com/wayneeseguin/rvm/blob/master/scripts/cd
My problems ('cd' with no arguments didn't take me back to my home directory any more) occurred about a month ago (I was using the fish interop mode - that might have been the problem), and it's probably been fixed since. But the whole thing scared me out of continuing with RVM.
If there's a bug in RVM, I sure as hell don't want it to manifest in my 'cd' command. I need to be able to change directory, and my scripts rely on it to always work.
Use RVM if you still need 1.8.x for something.
Seriously, some distro had to be first, and which one is better positioned than Arch both technically and philosophically to take that hit?
All the other distros can watch and learn.
(And I can finally learn all the stuff I have to do to make my scripts work with python3.)
"Arch is bleeding edge. We do things first. We experience the pain before others. That what makes us full of awesome."
I updated Arch on my workstation and server today and can confirm that everything "works for me" except for some python packages installed manually from AUR (e.g. offlineimap).
Make sure to check your AUR packages.
I have also heard some comments about the Python 3 standard library leaving some things to be desired. Perhaps someone more knowledgeable can elaborate.
[1] http://www.gossamer-threads.com/lists/python/dev/862066#8620...
I'm not using Arch, but choices like this really improve its standing in my eyes.
More in-depth post at: http://allanmcrae.com/2010/10/big-python-transition-in-arch-...
Seems there's not a lot of uproar or cheering on it (though it depends on who's doing the posting.)
(1) the extra work for Arch packagers, who will need to change, in all packages, every Python2.x code that expects /usr/bin/python to be a Python2.x interpreter.
(2) making Python 3.x feel like the de facto standard in the distribution sphere.
For now, I have to use a self-compiled 2.6 python package. I have locked the python and python2 packages from further updates for now. I hope this situation get better soon.
(This kind of thing is what I signed up for when I installed Arch.)
I know it's a little OT, but I can't take anyone seriously who ships unsigned packages and calls them a distribution.