[Numpy-discussion] [review] py3k_bootstrap branch

Darren Dale dsdale24@gmail....
Tue May 5 13:57:45 CDT 2009


On Tue, May 5, 2009 at 11:50 AM, David Cournapeau <cournape@gmail.com>wrote:

> On Wed, May 6, 2009 at 12:26 AM, Bruce Southey <bsouthey@gmail.com> wrote:
> > David Cournapeau wrote:
> >> Hi,
> >>
> >> I spent some more time on making numpy.distutils runnable under python
> >> 3. I finally made up to the point where it breaks at C code
> >> compilation, so we can start working on the hard part. The branch is
> >> there for review
> >>
> >> http://github.com/cournape/numpy/commits/py3k_bootstrap
> >>
> >> The code is quite ugly to be honest, but I have not found a better
> >> way; suggestions are welcomed. The biggest pain is by far exception
> >> catching (you can't do except IOError, e in python 3), and then print.
> >> Most other things can be handled by careful application of 2to3 with
> >> the fixers which keep python2 compatibility (print is unfortunately
> >> not one of them). There are also a few python 3.* bugs in distutils (I
> >> guess few C-based extensions made it for python 3 already).
> >>
> >> The rationale for making numpy.distutils runnable under both python2
> >> and python3 (instead of just applying 2to3 on it):
> >>  - it enables us to bootstrap our build process through the distutils
> >> 2to3 command (which is supposed to convert code to python 3 from
> >> python 2 sources on the fly).
> >>  - The few informations I found on non trivial port all made sure
> >> their setup.py was python 2 and 3 compatible - which means
> >> numpy.distutils for us.
> >>  - 2to3 is very slow (takes 5 minutes for me on numpy), so having to
> >> apply it every time from pristine source for python 3 support would be
> >> very painful IMHO.
> >>
> >> cheers,
> >>
> >> David
> >> _______________________________________________
> >> Numpy-discussion mailing list
> >> Numpy-discussion@scipy.org
> >> http://mail.scipy.org/mailman/listinfo/numpy-discussion
> >>
> > Hi,
> > This is really impressive!
> >
> > I agree that there should only be one source for Python 2 and Python 3.
> > Although it does mean that any new code must be compatible with both
> > Python 2.4+ and Python 3.+.
>
> That's almost impossible. It would be extremely painful to be source
> compatible. But we should aim at being able to produce most python 3
> code from 2to3.
>

There is a lot of interest in a 3to2 tool, and I have read speculation (
http://sayspy.blogspot.com/2009/04/pycon-2009-recap-best-pycon-ever.html)
that going from 3 to 2 should be easier than the other way around. Maybe it
will be worth keeping an eye on.

Darren
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20090505/de32b5e5/attachment-0001.html 


More information about the Numpy-discussion mailing list