Opencv/numpy issue: “module compiled against API version X but this version of numpy is Y”
我是opencv的新手,几天前我尝试安装它。 我安装了所有内容并将cv2文件从opencv移至python 2.7。 我厌倦了浏览这两个文件,但是现在我都遇到了一个错误,我正在尝试使用x86文件夹中的文件cv2。 每当我
1 2 3 4 5 6 | RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9 Traceback (most recent call last): File"<pyshell#1>", line 1, in <module> import cv2 ImportError: numpy.core.multiarray failed to import |
我尝试了一切,安装了numpy 1.8,重新安装了它,重新安装了其他版本的python,将文件添加到环境变量中,但我在这里呆了将近一周。 另外,我已经下载了cygwin64,但是在删除python 3之后(也许是巧合),现在它找不到任何命令,例如pip install等。
如果有人可以帮助我,我将非常感激。
Numpy为C API使用单独的版本号。 每当对C API进行任何更改时,此数字都会增加(无论二进制兼容性是否中断)。 由于更改很少,因此在Numpy版本和C API版本之间没有1:1映射。
该错误消息表明,与最初使用OpenCV构建的Numpy版本相比,该版本提供了C-API的较旧版本。
源代码中有一个方便的表格。 由于很难找到它,所以让我在这里重现它:
1 2 3 4 5 6 7 8 9 10 11 | C API Version | Numpy Version 0x00000008 - 1.7.x 0x00000009 - 1.8.x 0x00000009 - 1.9.x 0x0000000a - 1.10.x 0x0000000a - 1.11.x 0x0000000a - 1.12.x 0x0000000b - 1.13.x 0x0000000c - 1.14.x 0x0000000c - 1.15.x 0x0000000d - 1.16.x |
注意:最近更新于2019-04-11。
根据该表,您应该将Numpy升级到以下任何版本:1.10.x,1.11.x,1.12.x
这花费了一些时间,但是我终于找到了API版本和numpy版本的表格。 基于此,我想您需要numpy 1.10.x或1.11.x或1.12.x。 – Dan Ma?ek