我在试着运行这个程序

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 numpy==1.8

其他回答

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

帮我完成了任务!

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

pip uninstall numpy

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

conda install -c conda-forge numpy

这招对我很管用

在这种情况下

pip install -U numpy 

不能工作(即使使用sudo),您可能希望确保使用了正确的numpy版本。我也有同样的“numpy.core”。multiarray failed to import”问题,但这是因为我使用的Python版本安装了1.6,尽管我一直在安装1.8,并假设它安装在正确的目录下。

我发现坏的numpy版本使用以下命令在我的Mac终端:

python -c "import numpy;print(numpy.__version__);print(numpy.__file__)";

这个命令提供了我正在使用的numpy的版本和位置(结果是1.6.2)。我转到这个位置,手动将其替换为1.8的numpy文件夹,这解决了我的“numpy.core”。Multiarray导入失败”问题。希望有人觉得这有用!

注意:对于命令,在'version'和'file'之前和之后使用双下划线

我在使用repo中的requirements.txt所建议的numpy版本时出现了相同的错误。当我试图“导入熊猫作为pd”时,出现了这个错误。然后解决方案是将numpy版本升级到1.15.2,因为需求中建议的版本与pandas不匹配。我用pip卸载了现有的numpy版本,并重新安装了新版本。

pip install numpy==1.15.2 

希望这对大家有所帮助

我在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

所以他们两个是匹配的。