错误:没有显示名称且没有 $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中文网其他相关文章!