树莓派安装opencv-python后导入报错:undefined symbol: __atomic_store_8
解决树莓派导入cv2时的__atomic_store_8错误
这个错误是树莓派ARM架构下,OpenCV依赖的libatomic原子操作库未被正确链接导致的,以下是几个实用解决方法:
临时应急方案(适配Jupyter Notebook快速测试)
在导入cv2之前先设置环境变量:
import os os.environ['LD_PRELOAD'] = '/usr/lib/arm-linux-gnueabihf/libatomic.so.1' import cv2
每次运行代码前执行这段,即可临时解决链接问题。
永久解决(一劳永逸)
修改系统预加载库配置,让系统默认加载libatomic:
- 打开配置文件:
sudo nano /etc/ld.so.preload - 在文件内添加一行内容:
/usr/lib/arm-linux-gnueabihf/libatomic.so.1 - 按
Ctrl+O保存,回车确认后按Ctrl+X退出编辑器 - 更新系统链接缓存:
sudo ldconfig
之后再运行代码就不会再触发该错误。
替换为系统兼容版本(若以上方法无效)
如果是用pip安装的opencv-python,可能和树莓派系统兼容性不佳,换成官方源的适配版本:
sudo apt-get update sudo apt-get install python3-opencv -y
安装完成后直接导入cv2即可,无需额外配置。
内容的提问来源于stack exchange,提问作者splatters_
相关产品推荐
相关产品推荐

