【问题标题】:Matplotlib Backend issue _tkinter.TclError: no display name and no $DISPLAY environment variableMatplotlib 后端问题 _tkinter.TclError: no display name and no $DISPLAY environment variable
【发布时间】:2018-10-20 21:01:40
【问题描述】:

我正在尝试使用 matplotlib 绘制一个简单的图形,同时使用 SSH 连接到 Linux 机器。我在 Python2.7 上运行我的代码

我首先运行了以下内容:

import matplotlib
print(matplotlib.get_backend())

我将“TkAgg”作为我的后端 然后我跑了:

import os
import matplotlib as mpl
if os.environ.get('DISPLAY','') == '':
    print('no display found. Using non-interactive TkAgg backend')
    mpl.use('TkAgg')
import matplotlib.pyplot as plt 

确保专门使用 TkAgg。然而它返回:_tkinter.TclError: no display name and no $DISPLAY environment variable error。

有趣的是,当我使用“Agg”来查看发生了什么时,没有显示错误,也没有图表。

有什么好的建议吗?

【问题讨论】:

  • 使用ssh -X请求图片转发。或者使用非交互式后端。
  • 这个想法是使用 ssh -X -l Bla bla。我很愚蠢地删除了两个小时不允许我连接到机器的“l”。

标签: python ubuntu matplotlib ssh backend


【解决方案1】:

Agg 后端不显示任何内容,当您想保存绘图而不显示它时使用它。

你想要的是从你所在的位置转发你的显示,所以ssh -Xssh -Y

https://unix.stackexchange.com/questions/12755/how-to-forward-x-over-ssh-to-run-graphics-applications-remotely

【讨论】:

  • 解决了!非常感谢
猜你喜欢
  • 2017-06-16
  • 1970-01-01
  • 2017-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-12
  • 2020-09-23
  • 2016-12-11
相关资源
最近更新 更多