ImportError:numpy.core.multiarray无法导入

时间:2013-12-11 12:03:02

标签: opencv python-2.7 numpy

我正在尝试运行此程序

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.

39 个答案:

答案 0 :(得分:100)

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

pip install -U numpy

答案 1 :(得分:17)

的情况下
  

pip install -U numpy

无效(即使使用sudo),您可能需要确保使用正确版本的numpy。我有同样的“numpy.core.multiarray无法导入”问题,但这是因为我为我正在使用的Python版本安装了1.6,即使我继续安装1.8并假设它正在安装在正确的目录中。< / p>

我在Mac终端中使用以下命令找到了坏的numpy版本:

  

python -c“import numpy; print numpy .__ version __; print numpy .__ file __”;

这个命令给了我正在使用的numpy的版本和位置(结果是1.6.2)。我去了这个位置并用1.8的numpy文件夹手动替换它,这解决了我的“numpy.core.multiarray无法导入”问题。希望有人觉得这很有用!

**注意:对于命令,请在'version'和'file'

之前和之后使用双下划线

答案 2 :(得分:14)

如果您想要特定版本:

pip install numpy==1.8

答案 3 :(得分:13)

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

适用于Mac OS 10.11。

你应该关闭“无根”&#39;如果上面的shell不起作用。

答案 4 :(得分:11)

如果您使用的是python3,则以下命令可以解决macos中的问题。

python3 -m pip install numpy -I

答案 5 :(得分:5)

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

pip install --upgrade pip
pip install -U numpy

答案 6 :(得分:3)

我不太了解这个错误,但是我通过下面的方法解决了这个错误。

pip install -U opencv-python

希望它有用!

答案 7 :(得分:3)

对我来说,在使用conda安装pygrib并导入它时会出现此错误。

conda install -c conda-forge numpy

解决了这个问题。

答案 8 :(得分:3)

pip install numpy==1.19.3

这对我有用。

答案 9 :(得分:3)

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

我通过显式指定目标安装目录解决了这个问题:

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

答案 10 :(得分: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,显而易见但非常重要

答案 11 :(得分:2)

它对我有用。所以你可以尝试以下命令

$ pip install numpy -I

答案 12 :(得分:2)

我使用了 Anaconda 环境并且遇到了同样的问题。我尝试了所有上述方法,唉,它没有帮助我。积累了建议,这里是帮助我的方式:

  1. 删除虚拟环境或系统中的所有 NumPy 文件夹(如果您不使用虚拟环境,例如我的情况:

    ~/home/anaconda3/envs//lib/python/site-packages/numpy

    ~/home/anaconda3/envs//lib/python/site-packages/numpy.libs

    ~/home/anaconda3/envs//lib/python/site-packages/numpy-.dist-info

  2. 安装新的 Numpy:

    pip install numpy -U

希望,它可以在同样的情况下有所帮助

答案 13 :(得分:2)

就我而言,从apt安装解决了我的问题。

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

pip3 uninstall numpy
sudo apt-get install python3-numpy

答案 14 :(得分:1)

好的,所以我找到了一个尝试使OpenCV在Windows 10上与Python 3.9配合使用的解决方案。

这是known issue for Windows versions past v2004

简而言之,您需要的NumPY版本是v1.19.3:

pip uninstall numpy

pip install numpy==1.19.3

或者要在一个命令中执行此操作,请对pip使用--force-reinstall标志:

pip install --force-reinstall numpy==1.19.3

答案 15 :(得分:1)

运行此代码对我有用,似乎与版本有关。

pip uninstall numpy

pip install numpy==1.19.3

答案 16 :(得分:1)

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

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

答案 17 :(得分:1)

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

为我完成工作!

答案 18 :(得分:1)

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

pip uninstall numpy

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

一旦没有什么可卸载的,那就是

pip install numpy

希望这对某人有帮助!

答案 19 :(得分:1)

所有这些不同的答案表明,许多不同的问题表现为 ImportError: numpy.core.multiarray failed to import

==> 所以在堆栈回溯之前寻找更多的错误信息

例如重现此类问题的步骤(这些步骤在 numpy 1.20 发布之前一直运行良好):

# set up a virtualenv
pyenv virtualenv 3.8.7 pip-issue-9542
pyenv local pip-issue-9542

# update pip, setuptools
pip install -U pip setuptools

# install 2 pips
pip install --no-cache-dir numpy==1.19.5 cvxpy==1.1.3

# try to load cvxpy
python -c 'import cvxpy'

输出:

RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/var/pyenv/versions/pip-issue-9542/lib/python3.8/site-packages/cvxpy/__init__.py", line 18, in <module>
    from cvxpy.atoms import *
  File "/usr/local/var/pyenv/versions/pip-issue-9542/lib/python3.8/site-packages/cvxpy/atoms/__init__.py", line 20, in <module>
    from cvxpy.atoms.geo_mean import geo_mean
  File "/usr/local/var/pyenv/versions/pip-issue-9542/lib/python3.8/site-packages/cvxpy/atoms/geo_mean.py", line 20, in <module>
    from cvxpy.utilities.power_tools import (fracify, decompose, approx_error, lower_bound,
  File "/usr/local/var/pyenv/versions/pip-issue-9542/lib/python3.8/site-packages/cvxpy/utilities/power_tools.py", line 18, in <module>
    from cvxpy.atoms.affine.reshape import reshape
  File "/usr/local/var/pyenv/versions/pip-issue-9542/lib/python3.8/site-packages/cvxpy/atoms/affine/reshape.py", line 18, in <module>
    from cvxpy.atoms.affine.hstack import hstack
  File "/usr/local/var/pyenv/versions/pip-issue-9542/lib/python3.8/site-packages/cvxpy/atoms/affine/hstack.py", line 18, in <module>
    from cvxpy.atoms.affine.affine_atom import AffAtom
  File "/usr/local/var/pyenv/versions/pip-issue-9542/lib/python3.8/site-packages/cvxpy/atoms/affine/affine_atom.py", line 22, in <module>
    from cvxpy.cvxcore.python import canonInterface
  File "/usr/local/var/pyenv/versions/pip-issue-9542/lib/python3.8/site-packages/cvxpy/cvxcore/python/__init__.py", line 3, in <module>
    import _cvxcore
ImportError: numpy.core.multiarray failed to import

重要的线索是RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd

搜索它可以让您找到解释出了什么问题的 pip issue 9542cvxpy issue 1229

这种情况下的解决方法是 (a) 更新到 cvxpy>=1.1.10,或 (b) 更新到 numpy>=1.20,或 (c) 更新两者。您必须应对库的变化,因为如果不深入 pip 的 --no-build-isolation 世界,原始环境是不可重现的。

答案 20 :(得分:1)

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

pip install numpy==1.15.2 

希望这对某人有帮助

答案 21 :(得分:1)

我遇到了同样的错误,通过将我的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
  
    
      

导入cv2

             

将numpy导入为np

             

从matplotlib导入pyplot作为plt

    
  

答案 22 :(得分:0)

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

import numpy
numpy.version.version

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

答案 23 :(得分:0)

如果David Ketcheson的解决方案不起作用,那么我建议删除〜/ .local / lib / python3.6 / site-packages /(取决于您使用的python版本),这是什么终于为我工作了。

答案 24 :(得分:0)

虽然问题很老,但我现在愿意提供答案,因为答案对我的案子没有用。 (而且我很确定它们对于与我的配置相同的许多其他用户也不会工作。)

在El-Capitan OS上,如果您按下命令

pip install -U numpy

很可能它不会升级numpy模块。原因是El-Capiton已经附带了一些python模块(例如六个),因此它不允许你删除那些模块的旧版本并用新的模块替换它(那就是“-U”标志上面的命令正试图这样做)。 由于系统完整性保护,它甚至不允许使用root权限。

所以为了克服这个问题,我目前正在使用virtualenv(安装和使用virtualenv:Article),在我的virtualenv中,我正在命令安装。现在,在virtualenv中,一切都对我很好。

PS:您可能还会在其他一些pip软件包安装中收到错误,这些软件包将尝试升级系统软件包(例如,在安装virtualenvwrapper时)。 所以要安装带有“--ignore-installed”标志的virtualenvwrapper hit pip install命令。

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

答案 25 :(得分:0)

刚刚解决了这个问题。 import c2 或 import numpy 不起作用。卸载了最新版本的 numpy。尝试像上面指定的那样安装 numpy==1.15.2,但没有奏效。试过 numpy==1.19.3 它有效。我想并非所有版本都能与所有版本的 python 和依赖项完美配合。所以继续卸载并安装一个有效的。

答案 26 :(得分:0)

我遇到了同样的问题,以及我的情况如何解决。

我试过pip -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%

答案 27 :(得分: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

所以他们两个相互匹配。

答案 28 :(得分:0)

平铺文件夹

pip uninstall numpy事件中,重新安装Numpy不起作用。查看您的site-packages文件夹中是否存在以波浪号〜

开头的子文件夹。

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

可以安全地删除这些损坏的文件夹,有关更多详细信息,请参见this answer

答案 29 :(得分:0)

这与我合作sudo python -m pip install --upgrade numpy

答案 30 :(得分:0)

我有同样的问题。以下是该场景的说明以及我如何解决它:

1)使用http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

中的whl安装opencv

2)我打开了jupyter笔记本并试图&#34;导入cv2&#34;。我收到关于numpy版本问题的错误,因此我使用&#34; conda update numpy&#34;

更新了numpy

3)我打开jupyter笔记本试图&#34;导入cv2&#34;这给出了关于&#34; numpy.core.multiarray的错误无法导入&#34;

3)我关闭了jupyter笔记本程序(而不是只关闭浏览器中显示的笔记本),重启了jupyter笔记本,做了#34;导入cv2&#34;,错误消失了。

答案 31 :(得分:0)

如果您使用的是python 3.x并使用anaconda来安装软件包。您很可能必须将您的numpy更新到1.13及更高版本。

conda install numpy==1.13

答案 32 :(得分:0)

卸载现有的numpy 并安装opencv-python将解决问题

答案 33 :(得分:0)

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

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

使用pip安装numpy。

答案 34 :(得分:0)

以下方法适用于Windows -

pip install --user numpy

答案 35 :(得分:0)

对我来说是两个部分。首先:

$(function() {
  function About(firstName, lastName, jobTitle, homeOffice, tellMeMore) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.jobTitle = jobTitle;
    this.homeOffice = homeOffice;
    this.tellMeMore = tellMeMore;
  };

  const about01 = new About("Megan", "Adams", "Customer Serice Rep", "Penn Field", "I have been working at in customer service since December 2018 and transferred over to the Resolutions Department in fall of 2018. In my spare time I love watching scary movies, listening to true crime podcasts and music, and making art.");
  
  const keys = Object.keys(about01);
  
  $(".name, .job, .office, .more").html(function() {
      const el = this;
      return keys.filter(function(value) { 
                 return value.toLowerCase()
                        .indexOf(el.className) > -1
               })
               .map(function(value) {
                 return about01[value]
               }).join(" ")
             
  })
})

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

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
<body>
<div class="name"></div>
<div class="job"></div>
<div class="office"></div>
<div class="more"></div>
</body>

那对我来说很成功

答案 36 :(得分:0)

这对我有帮助

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

答案 37 :(得分:-1)

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

答案 38 :(得分:-2)

我遇到了同样的问题。 我注意到当我在filesytem的其他地方导入cv2时没有出现这样的问题。

我首先检查了项目中的所有文件,而不是像一个接一个地移动所有文件一样愚蠢而且我注意到如果你在一个名为signal.py的文件的项目根目录中运行python你将会得到那个错误,重命名文件,错误消失......我不知道发生了什么,但它已经过去了。