On Sat, Aug 04, 2012 at 03:50:56AM -0400, Bohuslav Kabrda wrote:
----- Original Message -----
On Fri, Aug 03, 2012 at 04:42:02AM -0400, Bohuslav Kabrda wrote:
----- Original Message -----
On Fri, Aug 3, 2012 at 8:57 AM, Bohuslav Kabrda bkabrda@redhat.com wrote:
Hi, I'd like to start a discussion about the release where we should switch to Python 3. As I have learned recently, Ubuntu 12.10 will have Python 3 as default [1], which makes me a sad panda :( We always take pride in being close to upstream and having the bleeding edge. Python 3 is stable and more and more libraries support it. So I'd like to propose an idea to switch to Python 3 for Fedora 19.
In which a way do you want to switch to python3? For me, that means any mention of "python" is synonym to "python3", which leads to the question, what is inside a python-foo package? The module foo, built for python3?
As you say, switching means /usr/bin/python -> /usr/bin/python3. And yes, that is a very valid point about the naming, I think.
Porting, taking those ports upstream, and even *tiny shudder* carrying those python3 patches locally for a loooong time, I could support.
Switching /usr/bin/python to point to /usr/bin/python3 I'd be very much against (at least for several years): http://www.python.org/dev/peps/pep-0394/
has a section that says it may someday be updated to recommend changing a /usr/bin/python symlink to point at python3. I would wait to make the link change until that PEP is updated (or many other unix distributions are also ready to make the switch). Switching the link is a largely symbolic gesture that creates more work for package maintainers, more work for end users, and more work for developers (who all have to find uses of /usr/bin/python and change them to /usr/bin/python2).
Well, my opinion is different on this. The PEP says that bleeding edge distributions may have python3 as a default. And I like to think of Fedora as bleeding edge.
The only distribution that has switched is arch. When they did there was a big uproar about how arch was doing something wrong which eventually resulted in that PEP.
/usr/bin/python is a program that end users depend on being a certain thing -- it shouldn't be used to set policy. That would be like us deciding we wanted to switch the default shell from /bin/bash to /bin/zsh and to implement that policy we were going to symlink /bin/bash to /bin/zsh. Users wanting /bin/bash would need to update their scripts, tools, and practices to reference /bin/gnu-bash.
-Toshio