我在试着运行这个程序

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


当前回答

几个月前,在使用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,这很明显,但很重要

其他回答

波浪号文件夹

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

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

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

我在conda环境中得到了同样的错误,仅仅在六年多之后。其他的回答都很有帮助,最终我找到了这个问题:

> conda list numpy
# packages in environment at [Anaconda3]:
#
# Name                    Version                   Build  Channel
numpy                     1.14.5                   pypi_0    pypi
numpy-base                1.18.1           py36hc3f5095_1
numpydoc                  0.9.1                    pypi_0    pypi

问题是'numpy'和'numpy-base'是不同的版本。我用以下方法解决了这个问题:

> conda install numpy-base=1.14.5

所以他们两个是匹配的。

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

pip install -U numpy

我使用了Anaconda环境,也遇到了同样的问题。我尝试了上面提到的所有方法,唉,都无济于事。积累的建议,这里有帮助我的方法:

删除虚拟环境中的所有NumPy文件夹,如果不使用虚拟环境,则删除系统中的所有NumPy文件夹,例如我的例子: ~ / home / anaconda3 / env / / lib / python /网站/ numpy ~ / home / anaconda3 / env / / lib / python /网站/ numpy.libs ~ / home / anaconda3 / env / / lib / python /网站/ numpy -.dist-info 安装新的Numpy: pip install numpy -U

希望在同样的情况下能有所帮助

对我来说,这是两部分。第一:

pip uninstall numpy

然后@Oli Blum回答(谢谢):

conda install -c conda-forge numpy

这招对我很管用