我正在尝试运行这个程序
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 Traceback(最后一次调用):文件“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.
conda update python
两次(一次更新 conda,再次将 python 更新到 2.7.13)解决了问题。
pip install opencv-python==3.4.2.17 numpy==1.14.5
对我有用
我遇到了同样的错误,并且能够通过将我的 numpy 安装更新到 1.8.0 来解决它:
pip install -U numpy
在这种情况下
pip install -U numpy
不起作用(即使使用 sudo),您可能需要确保使用正确版本的 numpy.我有同样的“numpy.core.multiarray 导入失败”问题,但这是因为我为我使用的 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'之前和之后使用双下划线
如果你想要一个特定的版本:
pip install numpy==1.8
如果您使用的是 python3,以下命令修复了 macos 中的问题。
python3 -m pip install numpy -I
pip
的帮助:-I
、--ignore-installed
忽略已安装的软件包,覆盖它们。如果现有包的版本不同或使用不同的包管理器安装,这可能会破坏您的系统!
试试 sudo pip install numpy --upgrade --ignore-installed
。
它适用于 Mac OS 10.11。
如果上面的外壳不起作用,您应该关闭“无根”。
pip install opencv-python==3.4.2.17 numpy==1.14.5
为我完成了工作!
你可能需要升级 pip,它对我有用
pip install --upgrade pip
pip install -U numpy
我有同样的错误信息,在尝试了一些建议的解决方案但没有成功后,我发现我需要运行:
pip uninstall numpy
多次。每次从我系统上累积的不同版本的 numpy 中标记要删除的几个不同文件。
一旦没有什么可卸载的,这就是一个问题
pip install numpy
希望这对某人有帮助!
好的,所以当我试图让 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
我使用了 Anaconda 环境并遇到了同样的问题。我尝试了所有上述方法,唉,它对我没有帮助。积累了建议,这里是帮助我的方式:
如果您不使用虚拟环境,请删除虚拟环境或系统中的所有 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 安装新的Numpy: pip install numpy -U
希望,它可以在同样的情况下有所帮助
对我来说,在使用 conda 安装 pygrib 并导入它时出现了这个错误。
conda install -c conda-forge numpy
解决了这个问题。
pip install numpy==1.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
我遇到了同样的错误,通过将我的 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 做了一场噩梦之后,我放弃了。我没有成功安装 CV2s 和 opencv。
我在 python34 上使用 numpy 版本 1.9.1,而升级一直停留在 1.9 上。
所以我去了 https://pypi.python.org/pypi/numpy 并为我的 python3.4 发现了最新的 numpy 版本。
我下载了 .whl 文件并将其复制到包含我的 python 安装的文件夹中,在我的例子中是 C:\Python34。
然后我在文件名上运行 pip intall ,现在我可以毫无问题地导入 cv2 了。
确保在开始之前关闭 python,显而易见但必不可少
我也遇到了同样的错误。问题是您可能创建了一个名为 numpy.py 的文件。该文件可能与 numpy 库一致。所以,删除那个 numpy.py 文件,问题就解决了。
它对我有用。所以你可以尝试以下命令
$ pip install numpy -I
我不太明白这个错误,但我用下面的方法解决了这个错误。
pip install -U opencv-python
希望它有用!
就我而言,从 apt 安装解决了我的问题。
您可以尝试从 pip 卸载它并从 apt 安装(如果您使用的是 ubuntu 等)
pip3 uninstall numpy
sudo apt-get install python3-numpy
运行此代码对我有用,似乎是版本问题。
pip uninstall numpy
pip install numpy==1.19.3
所有这些不同的答案表明,许多不同的问题都显示为 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 9542 和 cvxpy issue 1229,它们解释了出了什么问题。
在这种情况下,解决方法是 (a) 更新到 cvxpy>=1.1.10
,或 (b) 更新到 numpy>=1.20
,或 (c) 更新两者。您必须应对库更改,因为如果不深入 pip 的 --no-build-isolation
世界,原始环境是不可重现的。
在我的 D:驱动器(C:在 SSD 上运行)安装 python 和 opencv 后,我遇到了同样的错误。问题似乎是我的执行路径在 numpy 文件夹内。您可以检查此代码是否存在问题:
import numpy
numpy.version.version
如果它检索到与执行路径相关的任何错误,请从其他地方执行您的原始代码。这为我解决了无法加载 numpy.core.multiarray 错误
我在使用 repo 中的 requirements.txt 建议的 numpy 版本时发生了同样的错误。当我尝试“将 pandas 作为 pd 导入”时,发生了此错误。然后解决方案是将 numpy 版本升级到 1.15.2,因为要求中建议的版本与 pandas 不匹配。我用 pip 卸载了现有的 numpy 版本并重新安装了新版本。
pip install numpy==1.15.2
希望这可以帮助某人
我遇到了同样的问题,这就是我的解决方法。
我尝试了 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%
波浪号文件夹
如果事件 pip uninstall numpy
并且重新安装 Numpy 不起作用。查看您的站点包文件夹以查找以波浪号开头的子文件夹〜
这些文件夹与被破坏的 pip 安装相关,并且安装在中途中止。波浪号文件夹原本只是 tmp 文件夹,但最终变成了永久文件夹。就我而言,有一个名为 ~mpy 的文件,它是一个损坏的遗留 Numpy 文件夹。这导致了兼容性问题和 ImportErrors。
可以安全地删除这些损坏的文件夹,有关详细信息,请参阅 this answer
我能够通过将我的 python 更新到 3.8 来解决这个问题。我正在使用带有 Catalina 的 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
所以他们两个互相匹配。
这对我有帮助
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
这对我有用
卸载现有的 numpy 并安装 opencv-python 将解决该问题
1.20.3
时我也遇到了这个错误,并通过升级到 numpy1.21.0
来修复它。我想知道为什么这仍然是一个问题