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

MPLBACKEND 是 Matplotlib 的环境变量 ,用于指定 绘图后端。

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中 只生成图片,不弹出窗口。

相关推荐
LHICOD11 分钟前
Linux-2
java·linux·后端·jar·vmware·svm·vm
余额瞒着我当琳17 分钟前
Linux初识:Linux的历史,计算机的发展脉络,发行版本,选购云服务器,安装Xshell,第一次连接,基础命令指南
linux·运维·服务器
垆边人似月.40 分钟前
RDMA 文件传输踩坑(四):从固定延时改造为 READY/ACK 协议
linux·服务器·网络
水饺编程41 分钟前
第2章:Linux 基础,制作【.tar.xz】压缩包文件
linux·c语言·汇编
reasonsummer1 小时前
【办公类-04-05】20261030整理手机照片(华为手机助手导出照片到日期文件夹+批量添加四级文件夹+手动转移照片更名+更改三级文件夹合并汉字名称)
python·智能手机
阿里云基础软件1 小时前
Agent 任务提速 10.71%,内存占用降低 21.60%|Alibaba Cloud Linux 4 重大发布
java·linux·人工智能·操作系统·agent
BD_Marathon1 小时前
【Python】初识迭代器
python
m0_743697592 小时前
DNS的反向域名的相关问题
linux
gz927cool2 小时前
Python 全栈应用最佳实践完整指南
开发语言·python·ai
智购科技智能售货柜2 小时前
顾客已经关门,视觉售货柜还在处理旧画面:延迟积压怎么查?~YH
python·单片机·嵌入式硬件·物联网·eclipse