【问题标题】:CentOS Matplotlib RuntimeError: Could not open displayCentOS Matplotlib RuntimeError: 无法打开显示
【发布时间】:2019-11-14 12:32:12
【问题描述】:

我正在使用 Cuda,但遇到了 RuntimeError。

环境:

Python 2.7
Cuda 9.0
Torch 0.4.0
Torchvision 0.1.8
Matplotlib 1.2.0 

错误信息:

File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk.py", line 13, in <module>
    import gtk; gdk = gtk.gdk
  File "/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>
    _init()
  File "/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
    _gtk.init_check()
RuntimeError: could not open display

添加“MPLBACKEND=Agg”仍然会输出上述错误信息。

有人知道怎么解决吗?

【问题讨论】:

  • echo $DISPLAY 的结果是什么?你是远程工作吗,你切换用户了吗?
  • 是的。我远程工作。 echo $DISPLAY 什么也没给。 lshw -C display 提供两个显示。一个是英伟达的。我的问题实际上是通过在import matplotlib.pyplot as plt 之前添加import matplotlib as mpl mpl.use('Agg') 解决的。我会结束这个问题。

标签: python linux matplotlib centos


【解决方案1】:

我说过我会结束这个问题。但由于答案可能对某些人来说很有趣,所以我将其保持开放。也许有人可以向我解释为什么我的解决方案有效?

我远程工作。 echo $DISPLAY 什么也没给。 lshw -C display 提供两个显示。一个是英伟达的。

我的问题其实是通过添加解决的

import matplotlib as mpl
mpl.use('Agg')

import matplotlib.pyplot as plt之前。

【讨论】:

    猜你喜欢
    • 2017-03-26
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    相关资源
    最近更新 更多