ImportError:numpy.core.multiarray导入失败


135

我正在尝试运行该程序

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”,第1行,在

import cv2

ImportError:numpy.core.multiarray导入失败

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

编辑(删除的答案)

以下命令

pip install -U numpy 

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


1
我收到相同的错误消息,并且安装了numpy-1.9.2。
tommy.carstensen 2015年

1
就我而言,我在Windows上使用Anaconda发行版并运行conda update python了两次(一次更新conda,然后再次将python更新到2.7.13)解决了该问题。
Jason O.

运行pip install opencv-python==3.4.2.17 numpy==1.14.5工作对我来说
马库斯·韦伯

我在使用NumPy 1.16.3,python 3.7和最新的macOS时遇到相同的错误,将其升级到1.16.4可解决此问题。
nngeek '19

Answers:


130

我遇到了同样的错误,并且能够通过将numpy安装更新为1.8.0来解决此错误:

pip install -U numpy

我收到相同的错误消息,并且安装了numpy-1.9.2。
tommy.carstensen 2015年

@ tommy.carstensen嗨,我遇到了同样的问题,我尝试了pip install -U numpy,它下载了最新的numpy版本,并说它已成功安装,但实际上仍然是旧版本
user824624

在完全相同的条件下...对我来说,问题是numpy的双重安装,与其他库的版本冲突,并且它掩盖了conda安装的正确numpy版本。解决方案:pip卸载numpy ...这样就删除了错误的numpy版本,并使正确的numpy版本恢复了生命...
roy650

1
对我来说,我需要删除numpy,然后安装numpy。有效。
jef

24

在这种情况下

pip install -U numpy 

不起作用(即使使用sudo也不行),您可能需要确保使用的是正确版本的numpy。我遇到了同样的“ numpy.core.multiarray无法导入”的问题,但这是因为即使我一直安装1.8并假定它安装在正确的目录中,但我正在使用的Python版本安装了1.6。

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

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

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

注意:对于命令,请在“版本”和“文件”之前和之后使用双下划线


嗨,我遇到了同样的问题,你能教我如何更换的numpy的文件夹
user824624

嗨,您必须查看python -c命令后给出的路径,并在计算机上找到它。我确定您可以通过终端在OSX上管理该目录,但是我是手动完成的,它解决了我的问题。
alexfigtree

AttributeError:“模块”对象没有属性“文件”
xApple

1
@xApple在版本文件
Hamlett

您也可以尝试卸载有问题的numpy。然后检查您是否有另一个numpy版本,它将“升高”(如我所愿),并在需要时-重新安装它。
roy650 '17

17

如果要特定版本:

pip install numpy==1.8

如果这样做,我会从cl.exe中得到一个错误:无法链接简单的C程序
snoob dogg

2
我有numpy 1.11,但出现“无法加载numpy.core.multiarray”。如下所述安装1.15.2版可修复该问题。
Craig S. Anderson

14

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

它可以在Mac OS 10.11中使用。

如果上面的shell不起作用,则应关闭“ Rootless”。


无根是OSX 10.11中的“系统完整性保护”
Startry,2013年


7

您可能需要升级点,它对我有用

pip install --upgrade pip
pip install -U numpy


6

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

pip uninstall numpy

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

一旦没有什么可卸载的,这是一个问题

pip install numpy

希望这对某人有帮助!


<3
Atinesh

4

对我来说,安装带有conda的pygrib并将其导入时会出现此错误。

conda install -c conda-forge numpy

解决了问题。


当我在“导入张量流”期间遇到上述错误时,这为我解决了问题
蒙娜·贾拉勒

当我使用opencv时,它解决了我的问题,Anaconda python应该使用此方法,pip或pip3会使情况更糟。
raidsan '19

3

在我的情况下,这个问题是因为我要安装两个python(2.7和3.5),而pip仅在3.5 python目录中安装了numpy,而与我使用的pip版本无关。

我通过显式指定目标安装目录来解决该问题:

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

3

我不太了解这个错误,但是我在下面解决了这个错误。

pip install -U opencv-python

希望它有用!


3

以我为例,从apt安装可以解决我的问题。

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

pip3 uninstall numpy
sudo apt-get install python3-numpy

3

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

pip install -U numpy

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

$ 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

2

在几个月前使用pip install -U numpy做噩梦之后,我放弃了。我经历了CV2s和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

我在仓库中遇到了与我使用requirements.txt建议的numpy版本相同的错误。当我尝试“将熊猫作为pd导入”时,发生了此错误。然后解决方案是将numpy版本升级到1.15.2,因为要求中建议的版本与熊猫不匹配。我使用pip卸载了现有的numpy版本,然后重新安装了新版本。

pip install numpy==1.15.2 

希望这可以帮助某人


1

我能够通过将python更新到3.8解决问题。我在Catalina上使用Macbook Air。更新TensorFlow后,问题开始了。更新后,多次卸载并安装numpy后,错误不会消失。

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


0

我也遇到了同样的错误。问题在于您可能已经创建了一个名为numpy.py的文件。该文件可能与numpy库一致。因此,删除该numpy.py文件即可解决问题。


0

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

import numpy
numpy.version.version

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




0

尝试导入Pytorch时遇到此问题。通过重复卸载numpy直到我的Ubuntu上没有版本并安装最新版本来解决此问题。

运行sudo pip uninstall numpy。如果拒绝从a删除软件包<location>,请运行sudo rm -r <location>。重复以上操作,直到第一个命令不执行任何操作并且import numpy在Python shell中找不到包。

使用pip安装numpy。



0

我遇到了同样的问题,下面是我的解决方法。

我试过了,pip install -U numpy但没有升级numpy,但conda install为我工作

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%

0

波浪文件夹

在这种情况下pip uninstall numpy,重新安装Numpy不起作用。查看您的site-packages文件夹中是否存在以波浪号开头的子文件夹〜

这些文件夹与pip安装有关,该安装已被破坏,并且安装在整个过程中被中止。波浪号文件夹只曾是tmp文件夹,但最终成为永久性文件夹。在我的情况下,有一个名为〜mpy的文件,它是一个损坏的旧版Numpy文件夹。这导致兼容性问题和ImportErrors。

These mangled folders can safely be deleted, for further details see this answer


0

仅仅六年以后,我在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

所以他们两个相互匹配。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.