关于opencv:ImportError:numpy.core.multiarray无法导入

ImportError: numpy.core.multiarray failed to import

我想运行这个程序

1
2
3
4
5
6
7
8
9
10
11
12
13
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: module compiled against API version 7 but this version of numpy is 6

Traceback (most recent call last):

File"C:\Users\John\Documents\EyeTracking\Programs\GetImage.py", line 1, in

1
import cv2

ImportError: numpy.core.multiarray failed to import

我有numpy-1.6.1-py2.7在精神病文件夹中,我只是对什么是错误感到困惑?

编辑(已删除的答案)

以下命令

1
pip install -U numpy

帮助解决问题:could not load numpy.core.multiarray.


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

1
pip install -U numpy


在这种情况下

pip install -U numpy

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

我在我的Mac终端中使用以下命令发现了错误的numpy版本:

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

这个命令给出了我使用的numpy的版本和位置(原来是1.6.2)。我到了这个位置,手动将它替换为1.8的numpy文件夹,解决了我的"numpy.core.multiarray导入失败"问题。希望有人会发现这很有用!

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


如果需要特定版本:

1
pip install numpy==1.8


试试sudo pip install numpy --upgrade --ignore-installed

它在Mac OS 10.11中工作。

如果上面的shell不工作,您应该关闭"无根"。


如果您使用的是python3,下面的命令将修复MacOS中的问题。

python3 -m pip install numpy -I


你可能需要升级pip,它对我有用

1
2
pip install --upgrade pip
pip install -U numpy

在我的例子中,这个问题是因为我安装了两个python(2.7和3.5),而pip只在3.5 python目录中安装了numpy,而不管我使用的是哪个pip版本。

我通过明确指定目标安装目录来解决这个问题,如下所示:

1
pip install --target c:\apps\python-2.7\Lib\site-packages numpy

我不太明白这个错误,但我用下面的方法解决了这个错误。

1
pip install -U opencv-python

希望它有用!


对于我来说,在用Conda安装Pygrib并导入它时出现了这个错误。

1
conda install -c conda-forge numpy

解决了问题。


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

您可以尝试从pip卸载它,并从apt安装(如果您使用Ubuntu等)。

1
2
pip3 uninstall numpy
sudo apt-get install python3-numpy

这对我很有用。所以您可以尝试执行命令

1
$ pip install numpy -I

几个月前,我做了一个使用pip安装-u numpy的噩梦之后,我放弃了。我安装了CV2和OpenCV,但没有成功。

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

所以我去了https://pypi.python.org/pypi/numpy,发现了我的python3.4的最新numpy版本。

我下载了.whl文件并将其复制到包含我的python安装的文件夹中,在我的例子中是c:python34。

然后我在文件名上运行pip intall,现在可以无问题地导入cv2。

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


我收到了同样的错误消息,在尝试了一些建议的解决方案但没有成功之后,我发现我需要运行:

1
pip uninstall numpy

多次。每次从我的系统中积累的不同版本的numpy中标记要删除的几个不同文件。

一旦没有东西可以卸载,这就是

1
pip install numpy

希望这能帮助别人!


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

1
pip install numpy==1.15.2

希望这能帮助别人


我得到了同样的错误,通过将numpy安装从1.7.1更新到1.12.1解决了这个问题。

1
pip install -U numpy

以下是发生错误时我的命令序列,与上述略有不同:

1
2
3
4
5
6
7
8
9
10
11
$ python

Python 2.7.12 |Anaconda 4.2.0 (x86_64)| (default, Jul  2 2016, 17:43:17)

[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin

Type"help","copyright","credits" or"license" for more information.

Anaconda is brought to you by Continuum Analytics.

Please check out: http://continuum.io/thanks and https://anaconda.org

import cv2

import numpy as np

from matplotlib import pyplot as plt

< /块引用>< /块引用>


我也有同样的问题,这就是在我的案例中如何解决的。

我试过pip -U numpy,但它没有升级numpy,但conda install对我有用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
ImportError: numpy.core.multiarray failed to import
admin@MacBook-Air$ pip install -U numpy
Requirement already up-to-date: numpy in /Users/admin/anaconda/lib/python2.7/site-packages
admin@MacBook-Air$ python
Python 2.7.12 |Anaconda 2.4.0 (x86_64)| (default, Jul  2 2016, 17:43:17)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin
Type"help","copyright","credits" or"license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import numpy
numpy.version.version
>>> numpy.version.version
'1.7.1'
>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
>>>
admin@MacBook-Air$
admin@MacBook-Air$ conda install numpy
Fetching package metadata .......
Solving package specifications: ..........

Package plan for installation in environment /Users/admin/anaconda:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    scikit-learn-0.18.1        |      np111py27_0         4.9 MB

The following packages will be UPDATED:

    numexpr:      2.3.0-np17py27_0  --> 2.6.1-np111py27_1
    numpy:        1.7.1-py27_2      --> 1.11.2-py27_0    
    scikit-learn: 0.14.1-np17py27_1 --> 0.18.1-np111py27_0
    scipy:        0.13.2-np17py27_1 --> 0.18.1-np111py27_0

Proceed ([y]/n)? y

Fetching packages ...
scikit-learn-0 100% |#################################################################| Time: 0:00:16 312.60 kB/s
Extracting packages ...
[      COMPLETE      ]|####################################################################################| 100%
Unlinking packages ...
[      COMPLETE      ]|####################################################################################| 100%
Linking packages ...
[      COMPLETE      ]|####################################################################################| 100%

虽然这个问题很古老,但我现在愿意提供一个答案,因为这个答案对我的案例不起作用。(而且我非常肯定,它们也不会为许多其他和我配置相同的用户工作)。

如果你点击命令

1
pip install -U numpy

很可能它不会升级numpy模块。原因是ElCapiton已经附带了一些python模块(如six),因此它不允许您删除这些模块的旧版本并用新版本替换(这正是上面命令中的"-u"标志要做的)。由于系统完整性保护,它甚至不允许使用根权限。

因此,为了解决这个问题,我目前使用的是virtualenv(安装和使用virtualenv:article),在virtualenv中,我启动了要安装的命令。现在在virtualenv中一切都很好。

PS:在其他一些PIP包安装过程中,您可能还会收到一些错误,这些错误将尝试升级系统包(例如,在安装virtualenvwrapper时)。因此,要安装virtualenvwrapper,请单击pip install命令,并使用"-ignore installed"标志。

1
pip install --ignore-installed package-name-here

在我的d:drive(c:runs on a ssd)中安装了python和opencv之后,我也遇到了同样的错误。问题似乎是我的执行路径在numpy文件夹中。您可以检查这是否是此代码的问题:

1
2
import numpy
numpy.version.version

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


如果您使用python 3.x并使用anaconda安装软件包。您可能需要将numpy更新到1.13及更高版本。

1
conda install numpy==1.13


以下方法适用于Windows-

1
pip install --user numpy

如果David Ketcheson的解决方案不起作用,那么我建议删除~/.local/lib/python3.6/site-packages/(取决于您使用的是哪种Python版本),这是我最终能用的方法。


这帮助了我

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

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

1
pip uninstall numpy

然后@oli blum回答(谢谢):

1
conda install -c conda-forge numpy

这对我有好处


尝试导入pytorch时遇到此问题。解决方法是反复卸载numpy,直到我的Ubuntu上没有任何版本,然后安装最新版本。

运行sudo pip uninstall numpy。如果拒绝从中删除包,运行sudo rm -r 。重复以上操作,直到第一个命令不做任何操作,并且import numpy在python shell中找不到包。

使用PIP安装Numpy。


卸载现有numpy安装opencv python可以解决这个问题


我也有同样的问题。下面是场景的描述以及我如何解决它:

1)使用来自http://www.lfd.uci.edu/~gohlke/pythonlibs/opencv的WHL安装opencv

2)我打开了Jupyter笔记本,试图"导入cv2"。我有一个关于numpy版本问题的错误,所以我用"conda update numpy"更新了numpy。

3)我打开了Jupyter笔记本,试图"导入cv2",出现了"numpy.core.multiarray failed to import"的错误。

3)我关闭了Jupyter笔记本程序(而不是只关闭笔记本以便在浏览器中显示),重新启动Jupyter笔记本,执行了"导入cv2",错误消失了。


我也犯了同样的错误。问题是,您可能创建了一个名为numpy.py的文件。此文件可能与numpy库一致。所以,删除numpy.py文件,问题就解决了。


我也有同样的问题。我注意到,当我在文件系统的其他地方导入CV2时,没有这样的问题。

我先检查了我项目中的所有文件,然后做了一些愚蠢的事情,比如一个接一个地移动所有文件,我注意到如果你在一个名为signal.py的项目根目录下运行python,你会得到这个错误,重命名文件,错误就会消失……我不知道发生了什么事,但从那以后就不知道了。