”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何修复 Matplotlib 中的“无显示名称且无 $DISPLAY 环境变量”错误?

如何修复 Matplotlib 中的“无显示名称且无 $DISPLAY 环境变量”错误?

发布于2024-11-05
浏览:341

How to Fix the \

"_tkinter.TclError: no display name and no $DISPLAY 环境变量"

使用 Matplotlib 运行 Python 脚本时通常会发生此错误在没有图形显示的服务器上。 Matplotlib 依赖后端来渲染绘图,默认情况下,它选择 Xwindows 后端,这需要图形显示。

要解决此问题,您需要指示 Matplotlib 使用非交互式后端,例如作为聚合。以下是实现这一目标的方法:

  • 在导入 pyplot 之前,在脚本开头添加以下代码:
import matplotlib
matplotlib.use('Agg')

此代码将 matplotlib 后端设置为 Agg,适合生成不显示的静态图像。

  • 或者,您可以将以下行添加到您的 .config/matplotlib/matplotlibrc 文件中:
backend: Agg

这将永久为您的 Python 脚本使用 Agg 后端。

  • 如果您要远程连接到服务器,请使用以下命令:
ssh -X remoteMachine.com

此命令将启用 X11 转发,允许您使用服务器上的显示。

  • 您还可以尝试导出 DISPLAY 变量:
export DISPLAY=mymachine.com:0.0

这将设置 Xwindows 后端所需的 DISPLAY 环境变量。

有关在服务器上使用 Matplotlib 的更多信息,请参阅文档:https:// /matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server

版本声明 本文转载于:1729601116如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何干净地删除匿名JavaScript事件处理程序?
    如何干净地删除匿名JavaScript事件处理程序?
    删除匿名事件侦听器将匿名事件侦听器添加到元素中会提供灵活性和简单性,但是当要删除它们时,可以构成挑战,而无需替换元素本身就可以替换一个问题。 element? element.addeventlistener(event,function(){/在这里工作/},false); 要解决此问题,请考虑...
    编程 发布于2025-04-19
  • 如何在Java字符串中有效替换多个子字符串?
    如何在Java字符串中有效替换多个子字符串?
    在java 中有效地替换多个substring,需要在需要替换一个字符串中的多个substring的情况下,很容易求助于重复应用字符串的刺激力量。 However, this can be inefficient for large strings or when working with nu...
    编程 发布于2025-04-19
  • 如何使用替换指令在GO MOD中解析模块路径差异?
    如何使用替换指令在GO MOD中解析模块路径差异?
    在使用GO MOD时,在GO MOD 中克服模块路径差异时,可能会遇到冲突,其中3个Party Package将另一个PAXPANCE带有导入式套件之间的另一个软件包,并在导入式套件之间导入另一个软件包。如回声消息所证明的那样: go.etcd.io/bbolt [&&&&&&&&&&&&&&&&...
    编程 发布于2025-04-19
  • 如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    如何为PostgreSQL中的每个唯一标识符有效地检索最后一行?
    postgresql:为每个唯一标识符在postgresql中提取最后一行,您可能需要遇到与数据集合中每个不同标识的信息相关的信息。考虑以下数据:[ 1 2014-02-01 kjkj 在数据集中的每个唯一ID中检索最后一行的信息,您可以在操作员上使用Postgres的有效效率: id dat...
    编程 发布于2025-04-19
  • 大批
    大批
    [2 数组是对象,因此它们在JS中也具有方法。 切片(开始):在新数组中提取部分数组,而无需突变原始数组。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    编程 发布于2025-04-19
  • 如何避免Go语言切片时的内存泄漏?
    如何避免Go语言切片时的内存泄漏?
    ,a [j:] ...虽然通常有效,但如果使用指针,可能会导致内存泄漏。这是因为原始的备份阵列保持完整,这意味着新切片外部指针引用的任何对象仍然可能占据内存。 copy(a [i:] 对于k,n:= len(a)-j i,len(a); k
    编程 发布于2025-04-19
  • 如何使用FormData()处理多个文件上传?
    如何使用FormData()处理多个文件上传?
    )处理多个文件输入时,通常需要处理多个文件上传时,通常是必要的。 The fd.append("fileToUpload[]", files[x]); method can be used for this purpose, allowing you to send multi...
    编程 发布于2025-04-19
  • \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    \“(1)vs.(;;):编译器优化是否消除了性能差异?\”
    答案: 在大多数现代编译器中,while(1)和(1)和(;;)之间没有性能差异。编译器: perl: 1 输入 - > 2 2 NextState(Main 2 -E:1)V-> 3 9 Leaveloop VK/2-> A 3 toterloop(next-> 8 last-> 9 ...
    编程 发布于2025-04-19
  • 如何使用PHP将斑点(图像)正确插入MySQL?
    如何使用PHP将斑点(图像)正确插入MySQL?
    essue VALUES('$this->image_id','file_get_contents($tmp_image)')";This code builds a string in PHP, but the function call ...
    编程 发布于2025-04-19
  • Android应用用户设置及敏感数据的最佳存储方式
    Android应用用户设置及敏感数据的最佳存储方式
    在Android应用程序中存储用户设置:探索选项开发Android应用程序是有效管理用户设置的关键因素之一。这包括牢固地存储敏感信息,例如密码以及其他用户首选项。共享preperences:一种通用解决方案共享的偏好提供广泛使用的方法来存储Android应用程序中的用户设置。它们提供了一种方便的方法...
    编程 发布于2025-04-19
  • eval()vs. ast.literal_eval():对于用户输入,哪个Python函数更安全?
    eval()vs. ast.literal_eval():对于用户输入,哪个Python函数更安全?
    称量()和ast.literal_eval()中的Python Security 在使用用户输入时,必须优先确保安全性。强大的Python功能Eval()通常是作为潜在解决方案而出现的,但担心其潜在风险。 This article delves into the differences betwee...
    编程 发布于2025-04-19
  • 为什么我的图片无法上传到MySQL数据库?
    为什么我的图片无法上传到MySQL数据库?
    在此编程问题中,使用PHP代码将图像上传到MySQL数据库中,一个用户试图使用PHP代码从HTML表单上传到MySQL数据库时遇到问题。尽管没有错误消息,该系统仍无法将图像数据插入数据库中。图像上传过程用户提供了处理图像上传的代码段。在分析代码后,确定了以下问题:缺乏图像列定义:用户忽略了指定My...
    编程 发布于2025-04-19
  • JPA OneToOne关系如何配置懒加载?
    JPA OneToOne关系如何配置懒加载?
    声明地配置了jpa oneToOne关系 jpa应用程序中的一个公共优化是为了使lazy fetching forketing for feting feting feting fitching。默认情况下,JPA急切地获取OneToOne关联,这可能会导致不总是需要关联实体的情况下的性能问题。本...
    编程 发布于2025-04-19
  • 哪种方法更有效地用于点 - 填点检测:射线跟踪或matplotlib \的路径contains_points?
    哪种方法更有效地用于点 - 填点检测:射线跟踪或matplotlib \的路径contains_points?
    在Python Matplotlib's path.contains_points FunctionMatplotlib's path.contains_points function employs a path object to represent the polygon.它...
    编程 发布于2025-04-19
  • 您可以使用CSS在Chrome和Firefox中染色控制台输出吗?
    您可以使用CSS在Chrome和Firefox中染色控制台输出吗?
    在javascript console 中显示颜色是可以使用chrome的控制台显示彩色文本,例如红色的redors,for for for for错误消息?回答是的,可以使用CSS将颜色添加到Chrome和Firefox中的控制台显示的消息(版本31或更高版本)中。要实现这一目标,请使用以下模...
    编程 发布于2025-04-19

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3