On Sat, Feb 13, 2010 at 2:07 PM, Xavier Gnata <xavier.gn...@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
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion