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.
Thank you all for your suggestions and opinions.
Slavek.
--
Regards,
Bohuslav "Slavek" Kabrda.
(*) You can think of a virtual provide as of a "packaging symlink" - adding
"Provides: foo" to package makes "yum install foo" install this package, even
if this package name is "bar".
[1] https://lists.fedoraproject.org/pipermail/devel/2013-July/186098.html
[2] http://www.python.org/dev/peps/pep-0394/
[3] https://lists.fedoraproject.org/pipermail/devel/2013-July/186186.html
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com