我在试着运行这个程序

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,我只是不知道哪里出了问题?


当前回答

如果你卸载并重新安装或安装了更新,但它仍然不能工作,特别是如果你用cx_freeze打包:

尝试在导入cv2之前先导入numpy来更改代码。

其他回答

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

import numpy
numpy.version.version

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

波浪号文件夹

在事件pip卸载numpy和重新安装numpy不工作。检查你的site-packages文件夹中以波浪号~开头的子文件夹

这些文件夹与pip安装有关,pip安装被破坏,安装中途中止。波浪号文件夹本来只是tmp文件夹,但最终变成了永久文件夹。在我的例子中,有一个名为~mpy的文件,它是一个损坏的传统Numpy文件夹。这导致了兼容性问题和ImportErrors。

这些损坏的文件夹可以安全地删除,欲了解更多细节,请参阅这个答案

pip install opencv-python==3.4.2.17 numpy==1.14.5

帮我完成了任务!

这帮助了我

sudo pip3 install --upgrade --target=/home/<username>/.local/lib/python3.6/site-packages numpy

在试图导入Pytorch时遇到这种情况。解决方法是反复卸载或删除numpy,直到我的Ubuntu上没有任何版本,然后安装最新版本。在我的情况下,pip遇到访问被拒绝的权限错误,可能是因为与conda冲突。

执行sudo pip uninstall numpy命令。如果它拒绝从<location>中删除包(确保它是特定包的位置,而不是所有包-这是不可逆的),运行sudo rm -r <location>。重复以上步骤,直到第一个命令不起任何作用,并且import numpy无法在Python shell中找到包。

使用pip安装numpy。