OpenCV bindings requires "numpy" package.
Install it via command:
    pip install numpy
Traceback (most recent call last):
  File "/home/jing/.local/lib/python3.10/site-packages/numpy/_core/__init__.py", line 23, in <module>
    from . import multiarray
  File "/home/jing/.local/lib/python3.10/site-packages/numpy/_core/multiarray.py", line 10, in <module>
    from . import overrides
  File "/home/jing/.local/lib/python3.10/site-packages/numpy/_core/overrides.py", line 8, in <module>
    from numpy._core._multiarray_umath import (
ImportError: /home/jing/.local/lib/python3.10/site-packages/numpy/_core/_multiarray_umath.cpython-310-aarch64-linux-gnu.so: cannot read file data

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jing/.local/lib/python3.10/site-packages/numpy/__init__.py", line 114, in <module>
    from numpy.__config__ import show as show_config
  File "/home/jing/.local/lib/python3.10/site-packages/numpy/__config__.py", line 4, in <module>
    from numpy._core._multiarray_umath import (
  File "/home/jing/.local/lib/python3.10/site-packages/numpy/_core/__init__.py", line 49, in <module>
    raise ImportError(msg)
ImportError: 

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.

We have compiled some common reasons and troubleshooting tips at:

    https://numpy.org/devdocs/user/troubleshooting-importerror.html

Please note and check the following:

  * The Python version is: Python3.10 from "/bin/python3"
  * The NumPy version is: "2.0.0"

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: /home/jing/.local/lib/python3.10/site-packages/numpy/_core/_multiarray_umath.cpython-310-aarch64-linux-gnu.so: cannot read file data


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jing/桌面/send_test/send_test0620.py", line 1, in <module>
    import cv2 
  File "/usr/local/lib/python3.10/dist-packages/cv2/__init__.py", line 11, in <module>
    import numpy
  File "/home/jing/.local/lib/python3.10/site-packages/numpy/__init__.py", line 119, in <module>
    raise ImportError(msg) from e
ImportError: Error importing numpy: you should not try to import numpy from
        its source directory; please exit the numpy source tree, and relaunch
        your python interpreter from there.

上述为报错提示

本地环境是python3.10和numpy2.0.0,还安装了pandas库

查看numpy版本

pip show numpy
或者
import numpy
print(numpy.version.version)

 参考博客--​​​​​​​关于python:如何检查我使用的NumPy版本? | 码农家园 (codenong.com)

Please note and check the following:

  * The Python version is: Python3.10 from "/bin/python3"
  * The NumPy version is: "2.0.0"

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

根据提示错误的这一段,我对numpy进行了降版本,numpy的版本降为了numpu==1.26.4,这里还要提醒一下,关于numpy的版本需要>=1.22.4,因为我还安装了pandas,版本为pandas==2.2.2

//卸载原版本numoy
pip3 uninstall numpy
//再重新安装numpy
pip3 install numpy==1.26.4

参考博客--怎么查看numpy与pandas的版本号 - CSDN文库

总结:我最后的解决方法是对numpy进行了降版本操作,python3.10与numpy的版本<2.0.0,而后numpy和pandas的关系要求numpy>=1.22.4,此外我在虚拟机的环境为python3.8.10和numpy1.24.4可以正常运行,进一步说明可能为版本匹配问题,最后关于版本匹配问题我没有细查,只是粗略的查看了一个博主的博客,里面说到了版本匹配的问题,开始感觉麻烦,殊不知答案就在里面......

参考版本不匹配问题--numpy与python版本不匹配-ImportError: Unable to import required dependencies: numpy_please note and check the following: * the python -CSDN博客

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐