centos7下安装opencv后调用报错import cv2 ImportError: libGL.so.1: cannot open shared object file: No such file or directory

发布时间 2023-07-17 16:00:19作者: 海_纳百川

问题描述:
本人在centos7离线环境下安装python,然后pip install 安装opencv-python.whl包成功后,进入python3环境import cv2时,发现报错:
ImportError: libGL.so.1: cannot open shared object file: No such file or directory。

解决办法
参考博客:https://blog.csdn.net/qq_50195602/article/details/124188467
https://blog.csdn.net/weixin_42990464/article/details/125203404

开始尝试通过安装mesa相关的whl,但是并未解决问题。
最后仅仅安装了opencv-python_headless.whl解决此问题。

联网环境:pip3 install opencv-python-headless
离线环境:pip3 install opencv-python-headless_4.XX.whl

离线whl下载:

https://pypi.tuna.tsinghua.edu.cn/simple/

原因
主要是因为目标centos中缺少cv2的依赖。opencv-python-headless包含没有外部依赖项的预编译二进制轮(除了numpy)。而opencv-python还需要numpy的依赖支持。