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)) {

Xavier
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to