我在试着运行这个程序

import cv2
import time

cv.NamedWindow("camera", 1)

capture = cv.CaptureFromCAM(0)

while True:
    img = cv.QueryFrame(capture)
    cv.ShowImage("camera", img)
    if cv.WaitKey(10) == 27:
        break
cv.DestroyAllWindows()

但我有numpy的问题,我使用pyschopy与opencv一起使用。 我一直得到的问题是这个错误报告:

RuntimeError:根据API版本7编译的模块,但是numpy的这个版本是6 回溯(最近一次调用): 文件“C:\Users\John\Documents\EyeTracking\Programs\GetImage.py”,第一行,在 进口cv2 ImportError: numpy.core.multiarray导入失败

我在psychopy文件夹中有numpy-1.6.1-py2.7,我只是不知道哪里出了问题?


当前回答

如果您正在使用python3,下面的命令可以修复MacOS上的问题:

python3 -m pip install numpy -I

其他回答

几个月前,在使用pip install -U numpy时,我做了一个噩梦,于是我放弃了。我安装c2s和opencv都没有成功。

我在python34上使用numpy ver 1.9.1,在1.9上升级一直在拖延。

因此,我访问https://pypi.python.org/pypi/numpy,找到了我的python3.4的最新numpy版本。

我下载了.whl文件,并将其复制到包含我的python安装的文件夹C:\Python34。

然后我在文件名上运行pip安装,现在我可以自由导入cv2了。

确保在开始之前关闭python,这很明显,但很重要

我得到了同样的错误,并能够通过更新我的numpy安装到1.8.0来解决它:

pip install -U numpy

在我的D:驱动器(C:运行在SSD上)安装python和opencv后,我也遇到了同样的错误。问题似乎是我的执行路径在numpy文件夹内。你可以检查这是否是这段代码的问题:

import numpy
numpy.version.version

如果它检索到与执行路径相关的任何错误,则从其他地方执行原始代码。这解决了无法加载numpy.core.multiarray的错误

我可以通过将python更新到3.8来解决这个问题。我和卡特琳娜一起用Macbook Air。我在更新TensorFlow之后就遇到了这个问题。更新后,在卸载和安装numpy几次后,错误没有消失。

最后,我从python网站下载了python3.8包并安装。然后我安装了numpy,它工作了。

在我的案例中,从apt安装解决了我的问题。

你可以尝试从pip卸载它,然后从apt安装(如果你使用ubuntu等)。

pip3 uninstall numpy
sudo apt-get install python3-numpy