[Numpy-discussion] distutils issue - python 3.1 on windows
Pauli Virtanen
pav at iki.fi
Mon Aug 2 13:48:37 EDT 2010
Mon, 02 Aug 2010 23:48:52 +0800, Ralf Gommers wrote:
> I'm trying to get building to work with Python 3.1 under Wine on OS X.
> The first thing you run into is a python distutils problem, which is
> fixed by replacing line 379 of cygwinccompiler.py with
> result = RE_VERSION.search(str(out_string))
That's going to bust when out_string contains stuff that does not fit in
ASCII.
I don't remember how this was addressed in the rest of distutils.
> The next thing I run into is a numpy.distutils issue (complete build
> output below email):
>
> File
> "Z:\Users\rgommers\Code\numpy\build\py3k\numpy\distutils
\mingw32ccompiler.py",
> line 177, in link
> func(*args[:func.__func__.__code__.co_argcount])
> AttributeError: 'function' object has no attribute '__func__'
>
> What I think that line is for is to test what kind of arguments can be
> passed to 'func', but I'm really not sure. A comment would have been
> helpful, that must be the most obscure line of Python code I've ever
> seen:) Does anyone have any idea what causes this error?
This is change in the code object internals in Python 3, and 2to3 doesn't
seem able make the conversions automatically. I don't remember exactly
how it goes, but there are other instances of this in Numpy -- need to do
one thing on Python 2 and another on Python 3.
Anyway, here it seems like the `inspect` module should be used -- no need
to go mucking with in the code objects to just find the number of
arguments for a function.
Nobody has tested this part of the distutils code on Python 3, and indeed
it does not have any tests, so it's not a surprise that stuff like this
is left over :)
--
Pauli Virtanen
More information about the NumPy-Discussion
mailing list