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

相关推荐
测试19983 小时前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
曲幽5 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
小鹏linux6 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
在角落发呆6 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
前端若水7 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js
齐潇宇7 小时前
Zabbix 7 概述与配置
linux·zabbix·监控告警
涛声依旧-底层原理研究所7 小时前
残差连接与层归一化通俗易懂的详解
人工智能·python·神经网络·transformer
csdn_aspnet8 小时前
Python 算法快闪 LeetCode 编号 70 - 爬楼梯
python·算法·leetcode·职场和发展
fantasy_arch8 小时前
pytorch人脸匹配模型
人工智能·pytorch·python
熊猫_豆豆8 小时前
广义相对论水星近日点进动完整详细数学推导
python·天体·广义相对论