On Wed, Jul 24, 2013 at 5:12 AM, Bohuslav Kabrda <bkab...@redhat.com> wrote:
> Hi all, > in recent days, there has been a discussion on fedora-devel (see thread > [1]) about moving to Python 3 as a default. > I'd really love to hear opinions on the matter from the upstream, mainly > regarding these two points (that are not that clearly defined in my > original proposal and have been formed during the discussion): > > - Should we point /usr/bin/python to Python 3 when we make the move? > I know that pep 394 [2] deals with this and it says that /usr/bin/python > may refer to Python 3 on some bleeding edge distributions - supposedly, > this was added to the pep because of what Arch Linux did, not the other way > round. > As the pep says, the recommendation of pointing /usr/bin/python to Python > 2 may be changed after the Python 3 ecosystem is sufficiently mature. I'm > wondering if there are any more specific criteria - list of big projects > migrated/ported or something like that - or will this be judged by what I'd > call "overall spirit" in Python community (I hope you know what I mean by > this)? > In Fedora, we have two concerns that clash in this decision - being > "First" (e.g. actively promote and use new technologies and also suggest > them to our users) vs. not breaking user expectations. So we figured it'd > be a good idea to ask upstream to get more opinions on this. > > - What should user get after using "yum install python"? > There are basically few ways of coping with this: > 1) Just keep doing what we do, eventually far in the future drop "python" > package and never provide it again (= go on only with python3/python4/... > while having "yum install python" do nothing). > 2) Do what is in 1), but when "python" is dropped, use virtual provide (*) > "python" for python3 package, so that "yum install python" installs python3. > 3), 4) Rename python to python2 and {don't add, add} virtual provide > "python" in the same way that is in 1), 2) > 5) Rename python to python2 and python3 to python at one point. This makes > sense to me from the traditional "one version in distro + possibly compat > package shipping the old" approach in Linux, but some say that Python 2 and > Python 3 are just different languages [3] and this should never be done. > All of the approaches have their pros and cons, but generally it is all > about what user should get when he tries to install python - either nothing > or python2 for now and python3 in future - and how we as a distro cope with > that on the technical side (and when we should actually do the switch). > Just as a sidenote, IMO the package that gets installed as "python" (if > any) should point to /usr/bin/python, which makes consider these two points > very closely coupled. > A similar discussion broke out when Arch Linux switched python to point to python3. This led to http://www.python.org/dev/peps/pep-0394/ which says have python2/python3, and have python point at whatever makes the most sense to you based on your users and version uptake (option 3/4). The key, though, is adding python2 and getting your code to use that binary specifically so that shifting the default name is more of a convenience than something which might break existing code not ready for the switch.
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com