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可以正常运行,进一步说明可能为版本匹配问题,最后关于版本匹配问题我没有细查,只是粗略的查看了一个博主的博客,里面说到了版本匹配的问题,开始感觉麻烦,殊不知答案就在里面......