You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派4导入cv2与pandas时出现ImportError问题求助

问题描述
  • 设备:树莓派4 Model B
  • 系统:标准树莓派OS
  • Python版本:3.9.2
  • 状态:系统、pip及Python均已更新至最新版本

导入cv2报错

pi4@pi:~ $ python
Python 3.9.2 (default, Mar 12 2021, 04:06:34) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.9/dist-packages/cv2/__init__.py", line 181, in <module>
    bootstrap()
  File "/usr/local/lib/python3.9/dist-packages/cv2/__init__.py", line 153, in bootstrap
    native_module = importlib.import_module("cv2")
  File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: libcblas.so.3: cannot open shared object file: No such file or directory
>>> 

已确认opencv-python已安装:

pi4@pi:~ $ pip install opencv-python
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: opencv-python in /usr/local/lib/python3.9/dist-packages (4.6.0.66)
Requirement already satisfied: numpy>=1.17.3 in /usr/lib/python3/dist-packages (from opencv-python) (1.19.5)

导入pandas报错

pi4@pi:~ $ python
Python 3.9.2 (default, Mar 12 2021, 04:06:34) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pi4/.local/lib/python3.9/site-packages/pandas/__init__.py", line 22, in <module>
    from pandas.compat import is_numpy_dev as _is_numpy_dev
  File "/home/pi4/.local/lib/python3.9/site-packages/pandas/compat/__init__.py", line 15, in <module>
    from pandas.compat.numpy import (
  File "/home/pi4/.local/lib/python3.9/site-packages/pandas/compat/numpy/__init__.py", line 4, in <module>
    from pandas.util.version import Version
  File "/home/pi4/.local/lib/python3.9/site-packages/pandas/util/__init__.py", line 1, in <module>
    from pandas.util._decorators import (  # noqa:F401
  File "/home/pi4/.local/lib/python3.9/site-packages/pandas/util/_decorators.py", line 14, in <module>
    from pandas._libs.properties import cache_readonly  # noqa:F401
  File "/home/pi4/.local/lib/python3.9/site-packages/pandas/_libs/__init__.py", line 13, in <module>
    from pandas._libs.interval import Interval
  File "pandas/_libs/interval.pyx", line 1, in init pandas._libs.interval
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 48 from C header, got 40 from PyObject
>>> 

疑问:问题是否出在树莓派设备名为pi4上?

解决方案

1. 修复cv2依赖缺失

执行以下命令安装系统级依赖库:

sudo apt update
sudo apt install libcblas-dev libatlas-base-dev

安装完成后重新导入cv2即可。

2. 修复pandas与numpy二进制兼容问题

卸载现有冲突的包,重新安装适配版本:

pip uninstall -y pandas numpy
pip install numpy pandas

若仍报错,可指定兼容版本:

pip install numpy==1.21.6 pandas==1.3.5

关于设备名的说明

设备名为pi4不会导致上述问题,错误根源是依赖库缺失和版本不兼容,与设备名称无关。

内容的提问来源于stack exchange,提问作者tuurtje11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 04:18:29