future of python3...
dmalcolm at redhat.com
Tue May 3 18:17:54 UTC 2011
On Tue, 2011-05-03 at 23:11 +0530, Rahul Sundaram wrote:
> On 05/03/2011 09:42 PM, David Malcolm wrote:
> > We use Python a lot within Fedora; key system components such as
> > anaconda and yum are written in Python - Python 2, that is.
> > We added a Python 3 stack in Fedora 13, parallel-installable with the
> > main Python 2 stack 
> What are the thoughts on evaluating pypy as the default Python?
I've packaged PyPy for Fedora 15 onwards; I've updated it to the recent
1.5 in rawhide, and also for F15, since it's a leaf package (karma
needed - please see ).
I'm also looking at adding PyPy to EPEL 5 and EPEL6 (a scratch build is
in Koji right now :) )
I'm a fan of PyPy (and an upstream contributor), and I hope that one day
it can be the default Python on Fedora - perhaps implementing the Python
3 language - but I think that day is still years away.
PyPy is becoming a good choice for Python code where (a) raw speed is
important, and (b) you don't need C extension modules. For example, a
web server generating dynamic HTML might only need C code to connect to
its database backend, and the speed boost might well be worth it.
However, we heavily use C extension modules in Fedora. Although recent
releases of PyPy has some support for the C extension module API, the
support is still nowhere near enough robust enough to rely upon, and
debugging it in gdb is significantly harder than debugging CPython.
Having had to debug numerous low-level CPython crashes, I'm keen on
having good debuggability of our Python runtimes. Note that this isn't
PyPy's fault - it's often not the python runtime itself with the crash,
but in the library that's being wrapped.
I've been working with PyPy upstream on making PyPy more debuggable; see
I'm also working on this Fedora 16 idea, which should help both PyPy and
CPython more robust:
though it's early days yet, and I don't yet know how good the
signal:noise ratio for the tool will be, which will affect how tightly
we will want to integrate this into Fedora's build system. (I'm about
to go on vacation, and I don't want to open up the code until I get
back, later this month).
Hope this all sounds sane
More information about the test