ImportError: numpy.core.multiarray导入失败

我在试着运行这个程序

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

import cv2

ImportError: numpy.core.multiarray导入失败

我在psychopy文件夹中有numpy-1.6.1-py2.7,我只是不知道哪里出了问题?

518146 次浏览

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

pip install -U numpy

如果你想安装一个特定的版本:

pip install numpy==1.8

在这种情况下

pip install -U numpy

不能工作(即使使用sudo),您可能希望确保使用了正确的numpy版本。我也有同样的“numpy.core”。Multiarray导入失败”;问题,但这是因为我已经为我使用的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'之前和之后使用双下划线

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

import numpy
numpy.version.version

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

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

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

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

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

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

我尝试了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%

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

它适用于Mac OS 10.11。

如果上面的shell不能工作,你应该关闭“Rootless”。

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

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

这对我很管用。因此,您可以尝试以下命令

$ pip install numpy -I

如果您正在使用python3,下面的命令可以修复MacOS上的问题:

python3 -m pip install numpy -I

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

conda install -c conda-forge numpy

解决了问题。

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

pip install numpy==1.15.2

希望这对大家有所帮助

我真的不明白这个错误,但我解决了这个错误下面。

pip install -U opencv-python

希望对大家有用!

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

你可以尝试从pip卸载它,然后从apt安装(如果你使用ubuntu等)。

pip3 uninstall numpy
sudo apt-get install python3-numpy

这帮助了我

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

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

pip uninstall numpy

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

conda install -c conda-forge numpy

这招对我很管用

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

pip install --upgrade pip
pip install -U numpy

在试图导入Pytorch时遇到这种情况。解决方法是反复卸载或删除numpy,直到我的Ubuntu上没有任何版本,然后安装最新版本。在我的例子中,pip一直遇到Access is denied权限错误,可能是因为与conda冲突。

sudo pip uninstall numpy运行。如果它拒绝从<location>中删除包(确保它是特定包的位置,而不是所有包-这是不可逆的),运行sudo rm -r <location>。重复以上步骤,直到第一个命令不起任何作用,并且import numpy无法在Python shell中找到包。

使用pip安装numpy。

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

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

pip uninstall numpy

多个倍。每次都有几个不同的文件被标记为要删除,这些文件来自系统中积累的不同版本的numpy。

一旦没有东西可以卸载了,问题就来了

pip install numpy

希望这能帮助到一些人!

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

帮我完成了任务!

波浪号文件夹

在这种情况下,pip uninstall numpy和Numpy的重新安装不工作。检查你的site-packages文件夹中以波浪号~开头的子文件夹

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

这些损坏的文件夹可以安全地删除,详细信息见这个答案

我可以通过将python更新到3.8来解决这个问题。我和卡特琳娜一起用Macbook Air。我在更新TensorFlow之后就遇到了这个问题。更新后,在卸载和安装numpy几次后,错误没有消失。

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

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

所以他们两个是匹配的。

运行此代码为我工作,似乎是版本问题。

pip uninstall numpy


pip install numpy==1.19.3

当我试图让OpenCV与Windows 10上的Python 3.9一起工作时,我找到了一个适合我的解决方案。

这是一个Windows v2004以后版本的已知问题

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

pip uninstall numpy


pip install numpy==1.19.3

或者在一个命令中完成,为pip使用——force-重装标志:

pip install --force-reinstall numpy==1.19.3
pip install numpy==1.19.3

这对我来说很管用。

刚刚修复了这个问题。导入c2或导入numpy无效。卸载了numpy的最新版本。尝试安装numpy==1.15.2,就像上面指定的那样,没有工作。尝试numpy==1.19.3 IT工作正常。我想并不是所有版本的python和依赖都能完美地工作。所以继续卸载,安装一个正常的。

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

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

    ~ / home / anaconda3 / env / / lib / python /网站/ numpy

    ~ / home / anaconda3 / env / / lib / python /网站/ numpy.libs

    ~ / home / anaconda3 / env / / lib / python /网站/ numpy -.dist-info

  2. 安装新的Numpy:

    pip install numpy -U

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

所有这些不同的答案都表明许多不同的问题以 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 9542版Cvxpy issue 1229,它们解释了哪里出错了。

这种情况下的变通方法是(a)更新到cvxpy>=1.1.10,或(b)更新到numpy>=1.20,或(c)更新两者。如果不深入pip的--no-build-isolation世界,您将不得不处理库的更改,因为原始环境是不可复制的。

如果你卸载并重新安装或安装了更新,但它仍然不能工作,特别是如果你用cx_freeze打包:

  • 尝试在导入cv2之前先导入numpy来更改代码。
我在我的树莓4中与这个错误作斗争。 我正在开发一个使用opencv.

的Django后端

解决我问题的是:

sudo pip install numpy==1.23.0

Raspberry信息:Linux raspberrypi 5.15.61-v7l+

Python版本:3.9

希望这能帮助到一些人。