Package | 解决 ImportError: libGL.so.1: cannot open shared object file: No such file or directory

.

背景

在本机/docker环境里经常遇到这个报错,每次都先找解决方案。因为近期遇到这个报错太频繁,还是决定记录一下。

.

问题

运行程序,出现报错信息如下:

ImportError: libGL.so.1: cannot open shared object file: No such file or directory

从字面上理解,环境钟缺少libGL.so.1文件,即缺少GL库文件。
搜索得到libGL的定义如下:

OpenGL-based programs must link with the libGL library. libGL implements the GLX interface as well as the main OpenGL API entrypoints. When using indirect rendering, libGL creates GLX protocol messages and sends them to the X server via a socket. When using direct rendering, libGL loads the appropriate 3D DRI driver then dispatches OpenGL library calls directly to that driver.

原文链接:libGL

.

解决方案

更新apt-get:

apt-get update

安装GL库:

apt install libgl1-mesa-glx

在查找解决方案的过程中,发现很多解法是建议直接安装opencv或是ffmpeg。我的理解是这些库底层都调用了libGL,所以可以打包安装。就我的实验情况来看,当前代码只涉及GL库,所以仅需如上安装就可解决问题。

如果有opencv安装报错,可以移步我之前写的这篇 Package | OpenCV import cv2报错:找不到libSM.so.6 libXrender.so.1 libXext.so.6。

.

欢迎评论区补充和讨论~!

.

你可能感兴趣的:(Package,libGL,openGL)