Tkinter 错误:没有显示名称和 $DISPLAY 环境变量
错误“_tkinter.TclError:没有显示名称和 $DISPLAY 环境”在没有 X-window 系统的服务器上使用 matplotlib 运行 Python 脚本时会出现“variable_”。 Xwindows 是 matplotlib 的默认 Tkinter 后端所需的图形用户界面 (GUI) 系统。
解决方案:
要解决此问题,请指示 matplotlib 使用以下后端与非 GUI 环境兼容。有多种方法可以实现此目的:
1。使用 'Agg' 后端:
在导入 pyplot 之前将以下行添加到脚本的开头:
<code class="python">import matplotlib matplotlib.use('Agg')</code>
这将 matplotlib 后端设置为 Agg,这是一个非- 交互式后端适合生成图像,无需图形显示。
2.设置 Matplotlib 配置:
将以下行添加到 ~/.config/matplotlib/matplotlibrc 配置文件:
backend: Agg
这将指示 matplotlib 默认使用 Agg 后端对于所有脚本。
3.将 SSH 与 X-转发结合使用:
使用 SSH 连接到服务器时,使用 -X 选项启用 X-转发:
ssh -X remoteMachine
这将允许脚本访问本地计算机上的 GUI。
4.导出 DISPLAY 变量:
导出 DISPLAY 变量以指向主机的 IP 地址和显示编号:
export DISPLAY=mymachine.com:0.0
更多信息:
有关在非交互式环境中使用 matplotlib 的更多详细信息,请参阅 matplotlib 常见问题解答:https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server
以上是如何修复 Tkinter 错误:没有显示名称和 $DISPLAY 环境变量?的详细内容。更多信息请关注PHP中文网其他相关文章!