(已解决)docker 中运行 cv2 缺失 OpenGL|cannot open shared object file: No such file or directory

在 docker 中 import cv2 出现以下两类报错。

ImportError: libGL.so.1: cannot open shared object file: No such file or directory
ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory

这类错误发生是因为OpenCV(cv2)依赖于OpenGL库来进行图形渲染,特别是在使用图形用户界面(GUI)功能,如显示图片窗口时。

当在Docker容器中尝试导入或使用OpenCV时,如果容器的基础镜像中没有安装OpenGL相关的库,就会出现。

解决方案1:

针对第一个报错(libGL.so.1) 采用

apt install libgl1-mesa-glx

针对第二个报错 (libgthread-2.0.so.0) 采用

sudo apt-get install libglib2.0-0

解决方案2:

针对第一个报错(libGL.so.1) 采用

pip3 install opencv-python-headless

参考博客:
【1】https://stackoverflow.com/questions/55313610/importerror-libgl-so-1-cannot-open-shared-object-file-no-such-file-or-directo
【2】https://askubuntu.com/questions/1060903/importerror-libgthread-2-0-so-0-cannot-open-shared-object-file-no-such-file-o

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值