Python脚本调用matplotlib绘图时报libGL.so.1缺失ImportError如何解决
报错原因及解决方案
报错根本原因
你当前使用的无图形界面Linux容器环境缺少OpenGL运行依赖libGL.so.1,同时matplotlib默认加载了需要GUI交互的Qt5后端,触发导入失败。
如果当前运行环境没有root权限,无法执行系统包安装命令,请优先选择方案一
解决方案
方案一:切换matplotlib非GUI后端(推荐,无需系统权限)
在导入matplotlib.pyplot之前手动指定无图形后端,不需要安装任何系统依赖:
- 普通Python脚本运行(不需要弹窗显示绘图,仅需保存为图片),在代码开头添加:
import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt
- Jupyter Notebook/Lab环境(需要在页面内显示绘图),在导入plt之前执行魔法命令即可:
%matplotlib inline import matplotlib.pyplot as plt
方案二:安装缺失的系统依赖(需要root权限,适用于需要GUI交互的场景)
根据你使用的Linux发行版执行对应命令安装依赖:
- Debian/Ubuntu/类Debian容器环境(当前你使用的conda容器默认属于该类):
apt update && apt install -y libgl1-mesa-glx
- CentOS/RHEL/Fedora 环境:
yum install -y mesa-libGL
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

