[Pythonmac-SIG] module compiled against version 1000002 of C-API but this version of numpy is 1000009

Teemu Rinne Teemu.Rinne at helsinki.fi
Sat Nov 25 00:08:08 CET 2006


Hi,

Bob, thanks for the verification.

To my great surprise, I managed to compile scipy on Intel Mac Pro without
too much trouble (sorting out gcc and python versions and missing fortran
took awhile).  My collection of packages seems to work now but there still
remains one (minor) issue with masked arrays. 

This works on my older installations (g5):

import matplotlib
matplotlib.use("TkAgg")
from pylab import *
from MA import *
#import MA
a=arange(100)
a.shape=(5,20)
a=swapaxes(a,0,1)
m=array([1,2,3],mask=[0,1,0])
#m=MA.array([1,2,3],mask=[0,1,0])

On my Mac Pro, I get:
File "test.py", line 12, in ?
    a=swapaxes(a,0,1)
  File
"/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/numpy/core/fromnumeric.py",
line 106, in swapaxes
    return _wrapit(a, 'swapaxes', axis1, axis2)
  File
"/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/numpy/core/fromnumeric.py",
line 39, in _wrapit
    result = getattr(asarray(obj),method)(*args, **kwds)
  File
"/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-packages/numpy/core/numeric.py",
line 132, in asarray
    return array(a, dtype, copy=False, order=order)
ValueError: object __array__ method not producing an array


There seems to be some kind of name space conflict. The line
'a=swapaxes(a,0,1)' works as expected without 'from MA import *'. If I do
'import MA' and use MA.array etc for all operations with masked arrays
everything seems to work fine. However, I have lots of lines like
'a=average(array(b,mask=m))' which would look quite ugly as
'a=MA.average(MA.array(b,mask=m))'.

Is this how MA is supposed to work with the latest versions? If not, any
ideas where the conflict might be coming from? 

--
Teemu



Teemu.Rinne at helsinki.fi> wrote:
>> import matplotlib
>> matplotlib.use("TkAgg")
>> from pylab import *
>> # everything seems ok so far
>> # the next line fails:
>> from scipy import signal
>> 
>> Error message:
>> RuntimeError: module compiled against version 1000002 of C-API but this
>> version of numpy is 1000009
>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in ?
>>   File
>> "/Library/Frameworks/Python.framework/Versions/2.4/lib/python2.4/site-pa
>> ckages/scipy/signal/__init__.py", line 7, in ?
>>     import sigtools
>> ImportError: numpy.core.multiarray failed to import

Bob Ippolito wrote:
> It looks like scipy is out of date or something. If someone provides a
> set of packages that are all up to date and in sync, then I will post
> them. Otherwise, the only thing I can suggest is to compile it all
> yourself or find another source for packages built together.



More information about the Pythonmac-SIG mailing list