由于API版本不匹配,cython np.import_array()失败

时间:2012-05-25 10:45:24

标签: python numpy cython

任何人都知道我为什么会收到此错误:

Error in sys.excepthook:
Traceback (most recent call last):
  method tm_excepthook in test.py at line 44
   io = fdopen(error_fd, 'wb', 0)
OSError: [Errno 9] Bad file descriptor

Original exception was:
Traceback (most recent call last):
  method <module> in test.py at line 9
    import SLIC
ImportError: numpy.core.multiarray failed to import

RuntimeError: 'module compiled against API version 6 but this version of numpy is 4'

我尝试重新安装numpy没有运气(1.6.2从OSX Lion上的源代码构建),奇怪的是,当我输入numpy.__version__时我得到1.5.1,并且在/Library/Python/2.7/ site-packages / numpy / version.py告诉我我正在使用1.6.2

1 个答案:

答案 0 :(得分:1)

听起来你可能有多个版本的numpy,检查哪一个实际上是通过运行

加载的
import numpy
print(numpy.__file__)

现在,通过执行

检查Python包含路径
import os
print(os.environ['PYTHONPATH'])

你不正确的numpy的位置应该在列表中更高。请尝试通过更改PYTHONPATH来解决此问题。