首页 >后端开发 >Python教程 >如何修复 Matplotlib 中的'无显示名称且无 $DISPLAY 环境变量”错误?

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

Barbara Streisand
Barbara Streisand原创
2024-10-22 21:02:02241浏览

How to Fix the

错误:没有显示名称且没有 $DISPLAY 环境变量

当用于数据可视化的 Python 库 Matplotlib 尝试使用需要图形输出但找不到有效显示环境的后端。

Matplotlib 默认使用 Xwindows 后端,这需要设置 X 服务器和 $DISPLAY 环境变量。在给定的场景中,该错误表明正在执行 Python 脚本的服务器上显示名称和 $DISPLAY 变量都不可用。

解决方案:

要解决此问题,您可以将 Matplotlib 设置为使用不需要图形输出的非交互式后端。在导入 matplotlib 之前,在脚本开头添加以下行:

<code class="python">import matplotlib
matplotlib.use('Agg')</code>

这会将 Matplotlib 配置为使用 Agg 后端,这是一个非交互式后端,以文件格式生成输出,例如作为 PNG 或 PDF。

或者,您可以将以下行添加到 .config/matplotlib/matplotlibrc 文件中,以使非交互式后端成为默认后端:

backend: Agg

如果您有如果远程计算机上有可用的 X 服务器,则可以使用以下 SSH 命令转发 X11 连接:

<code class="bash">ssh -X remoteMachine.com</code>

这将在远程计算机上设置 $DISPLAY 环境变量,允许 Matplotlib 使用 Xwindows 后端.

最后,您可以尝试手动导出 $DISPLAY 变量:

<code class="bash">export DISPLAY=mymachine.com:0.0</code>

这会将 $DISPLAY 变量设置为指定的远程计算机并显示编号。

有关此错误和可能的解决方案的更多信息,请参阅 Matplotlib 文档:https://matplotlib.org/faq/howto_faq.html#matplotlib-in-a-web-application-server

以上是如何修复 Matplotlib 中的'无显示名称且无 $DISPLAY 环境变量”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn