在服务器上执行涉及 Matplotlib 的 Python 脚本时,您可能会遇到错误“_tkinter.TclError:没有显示名称,也没有 $DISPLAY 环境变量。”出现这个错误是因为Matplotlib默认使用Xwindows后端,这需要图形显示环境。然而,服务器环境通常缺乏此功能。
要解决此问题,您可以指示 Matplotlib 使用非交互式后端。在导入 pyplot 之前,在脚本开头插入以下代码:
import matplotlib
matplotlib.use('Agg')
或者,您可以将以下行添加到 .config/matplotlib/matplotlibrc 文件中:
backend: Agg
这将配置Matplotlib 使用 Agg 后端,不需要图形显示。
另一个选项是使用带有 X11 转发的 ssh:
ssh -X remoteMachine
此命令允许您可以远程访问 Xwindows 应用程序。
最后,您可以设置 DISPLAY 环境变量:
export DISPLAY=mymachine.com:0.0
通过指定有效的显示名称,Matplotlib 将能够连接到另一台计算机上的图形显示。
有关更多信息,请参阅 Matplotlib 常见问题解答:https://matplotlib.org/faq/howto_faq.html#matplotlib-in -a-网络应用程序服务器
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3