Opencv / numpy问题:“针对API版本X编译的模块,但这个版本的numpy是Y”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Opencv / numpy问题:“针对API版本X编译的模块,但这个版本的numpy是Y”相关的知识,希望对你有一定的参考价值。
我是opencv世界的新手,几天前我试图安装它。我安装了所有内容并将cv2文件从opencv移动到python 2.7。我厌倦了两个文件,但我现在都有错误,我正在尝试使用文件夹x86中的文件cv2。每当我import cv2
我有这个错误:
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。
有一个方便的table in the source code。由于它有点难以找到,让我在这里重现它:
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. - DanMašek
以上是关于Opencv / numpy问题:“针对API版本X编译的模块,但这个版本的numpy是Y”的主要内容,如果未能解决你的问题,请参考以下文章
RuntimeError:针对 API 版本 a 编译的模块,但这个版本的 numpy 是 9
RuntimeError:针对 API 版本 0xc 编译的模块,但这个版本的 numpy 是 0xb