export MPLBACKEND=Agg命令使用

目录

    • [1️⃣ `export`](#1️⃣ export)
    • [2️⃣ `MPLBACKEND`](#2️⃣ MPLBACKEND)
    • [3️⃣ `Agg` 是什么](#3️⃣ Agg 是什么)
    • [4️⃣ 为什么要设置 `Agg`](#4️⃣ 为什么要设置 Agg)
    • [5️⃣ 典型使用场景](#5️⃣ 典型使用场景)
    • [6️⃣ Python等价写法](#6️⃣ Python等价写法)

export MPLBACKEND=Agg 是一个 Linux / bash 环境变量设置命令 ,用于指定 Python 的 Matplotlib 使用的绘图后端(backend)

我们拆开解释:


1️⃣ export

export 是 Linux shell 的命令,用于 设置环境变量,并让子进程继承

例如:

bash 复制代码
export A=10

表示:

  • 当前 shell 设置变量 A
  • 之后启动的程序(python、bash脚本等)都可以读取这个变量。

2️⃣ MPLBACKEND

MPLBACKENDMatplotlib 的环境变量 ,用于指定 绘图后端

Matplotlib 有很多 backend,例如:

Backend 作用
TkAgg GUI窗口绘图
Qt5Agg Qt GUI
MacOSX macOS GUI
Agg 无GUI,直接渲染图片

3️⃣ Agg 是什么

Agg 指的是:

Anti-Grain Geometry

它是一个 纯 CPU 的图像渲染引擎,特点:

  • 不需要 GUI
  • 不需要 X11
  • 可以直接生成图片

常见输出:

复制代码
png
jpg
svg
pdf

例如:

python 复制代码
import matplotlib.pyplot as plt

plt.plot([1,2,3])
plt.savefig("a.png")

4️⃣ 为什么要设置 Agg

服务器 / Docker / CI / SSH 远程环境 中,通常 没有图形界面

如果使用默认 backend:

复制代码
TkAgg
Qt5Agg

就会报错:

复制代码
cannot connect to X server

或者:

复制代码
RuntimeError: Invalid DISPLAY variable

所以设置:

bash 复制代码
export MPLBACKEND=Agg

意思是:

让 Matplotlib 在无图形环境下运行,只生成图片,不打开窗口。


5️⃣ 典型使用场景

例如在 Docker / 训练脚本

bash 复制代码
export MPLBACKEND=Agg
python train.py

或者:

bash 复制代码
MPLBACKEND=Agg python plot.py

常见于:

  • 机器学习训练日志画图
  • CI pipeline
  • 服务器绘图
  • ROS / robot 可视化日志

6️⃣ Python等价写法

如果不想用环境变量,也可以在 Python 中写:

python 复制代码
import matplotlib
matplotlib.use("Agg")

然后再:

python 复制代码
import matplotlib.pyplot as plt

⚠️ 注意顺序必须在 pyplot 之前。


一句话总结

复制代码
export MPLBACKEND=Agg

意思是:

让 Matplotlib 使用 Agg 无GUI后端 ,在服务器或Docker中 只生成图片,不弹出窗口

相关推荐
Gigavision1 小时前
基于BUAA-MIHR数据集的噪声解耦对比学习算法
人工智能·python·深度学习·算法
NamoAmitabha1281 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
IPdodo_1 小时前
跨境 API 调用不稳定怎么办:出口、超时重试与链路监控的实践
网络·python·网络协议
Madison-No72 小时前
搭建项目测试环境
linux·运维·服务器·python
计算机编程-吉哥2 小时前
YOLO26 vs YOLO11 vs YOLOv8:深度学习咖啡果实成熟度分割系统【计算机毕业设计选题推荐】
人工智能·python·深度学习·yolo·django·毕业设计
吴声子夜歌2 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
大衛說3 小时前
11 · 异常处理与日志
python
auto_go3 小时前
Python 实战指南(7)——账本动不动就崩?先把“魔法字符串”和“裸报错”干掉
python
Beyond_System|系统之外3 小时前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
根目录下的猫3 小时前
RK3588适配的轻量级AI模型推荐
人工智能·后端·python·目标检测