[Numpy-discussion] numpy 2.0, what else to do?
Xavier Gnata
xavier.gnata at gmail.com
Sat Feb 13 16:27:58 EST 2010
On 02/13/2010 10:15 PM, Charles R Harris wrote:
>
>
> On Sat, Feb 13, 2010 at 2:07 PM, Xavier Gnata <xavier.gnata at gmail.com
> <mailto:xavier.gnata at gmail.com>> wrote:
>
> On 02/13/2010 09:28 PM, Pauli Virtanen wrote:
> > We will most likely have experimental py3 support in 2.0.
> >
> > If you, or someone else wishes to help bringing 2.0 to fully
> work with Py3, now is a very good time to step up.
> >
> > How to give a hand:
> >
> > 1. Get my latest py3 branch from
> http://github.com/pv/numpy-work/tree/py3k
> >
> > Read doc/py3k.txt
> >
> > 2. Get py3 branch of nose (see doc/py3k.txt in the branch).
> >
> > 3. Build numpy, and run unit tests (build with
> "NPY_SEPARATE_BUILD=1 python3 setup.py build", numscons is not
> supported at the moment).
> >
> > 4. Fix bugs revealed by the unit tests. Currently, C code is
> mostly ported, so you can probably also help only by writing
> Python. There are about 100 test failures (of 2400) left.
> >
> > Many test failures occur also because the tests are wrong. For
> instance: the numpy I/O requires bytes, but some tests supply it
> unicode strings -> need changes in tests.
> >
> > One useful thing to do is to help with the str/bytes transition
> on the python side. Since the same code must work with pythons
> from 2.4 to 3.0 (for 3 it's automatically run through 2to3 on
> build), there are some helpers in numpy.compat.py3k for helping
> with this. See several previous commits on the branch on that.
> >
> > Another useful thing could be to port an existing numpy-using
> code to py3 and test if it works with the current py3k branch,
> what fails, and if the failures are already revealed by unit
> tests. Even if it does not work at the moment, having it at hand
> will help testing the rc when it comes. This, because I wouldn't
> completely rely on our unit test coverage.
> >
> > Finally, try to write some PEP 3118 using code, and check how it
> works. (You can use python >= 2.6 for this if you get numpy from
> the py3k branch.)
> >
> >
> Well I don't know where I should report that but your branch doesn't
> compile with python3.1:
> numpy/core/blasdot/_dotblas.c: In function
> ‘dotblas_matrixproduct’:
> numpy/core/blasdot/_dotblas.c:404: error: ‘PyArrayObject’ has no
> member
> named ‘ob_type’
> numpy/core/blasdot/_dotblas.c:404: error: ‘PyArrayObject’ has no
> member
> named ‘ob_type’
> numpy/core/blasdot/_dotblas.c:407: error: ‘PyArrayObject’ has no
> member
> named ‘ob_type’
>
> and so on...
>
>
> AFAICS, it is easy to fix using the Py_TYPE macro.
>
> For instance:
> - if (ap1->ob_type != ap2->ob_type) {
> + if (Py_TYPE(ap1) != Py_TYPE(ap2)) {
>
>
> Pauli fixed a lot of those. Did you remove the old build directory and
> all that stuff?
>
> Chuck
>
Well I ran git clone git://github.com/pv/numpy-work.git an hour ago (in
an empty directory)
Xavier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20100213/0b2a4db1/attachment.html>
More information about the NumPy-Discussion
mailing list