【问题标题】:Matplotlib - Python ErrorMatplotlib - Python 错误
【发布时间】:2012-11-12 00:00:30
【问题描述】:

设置:

处理器:x86_64 操作系统:GNU/Linux 发行版:Fedora Release 13 (Goddard).

Python 2.6.4

 /usr/bin/python

这是以下问题:

我正在尝试使用 Matplotlib 和 Python 生成一些图表。正如我从大多数solutions3 中听到的那样。matplotlib 和 64 位架构之间似乎存在兼容性问题。

我已经从here 安装了 Matplotlib

这是我得到的错误:

Traceback (most recent call last):
  File "plot-thread-characterization.py", line 24, in <module>
    import matplotlib.pyplot as plt
  File "/usr/lib64/python2.6/site-packages/matplotlib/pyplot.py", line 78, in <module>
    new_figure_manager, draw_if_interactive, show = pylab_setup()
  File "/usr/lib64/python2.6/site-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
    globals(),locals(),[backend_name])
  File "/usr/lib64/python2.6/site-packages/matplotlib/backends/backend_gtkagg.py", line 10, in <module>
    from matplotlib.backends.backend_gtk import gtk, FigureManagerGTK, FigureCanvasGTK,\
  File "/usr/lib64/python2.6/site-packages/matplotlib/backends/backend_gtk.py", line 8, in <module>
    import gtk; gdk = gtk.gdk
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>
    _init()
  File "/usr/lib64/python2.6/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
    _gtk.init_check()
RuntimeError: could not open display

谢谢。

【问题讨论】:

  • 我不认为这是一个链接问题,但听起来它无法创建 GTK 显示。您是在运行 X11 服务器还是通过 ssh 运行它?
  • 我通过 SSH 运行它。我没有使用ssh -X 选项。

标签: python matplotlib 64-bit


【解决方案1】:

matplotlib 无法连接到任何 X 服务器以显示其 GTK。

这里有几个选项:

  1. 运行本地 X 服务器并在 ssh 客户端中启用 X11 转发,以在本地计算机上显示输出。您可以通过检查是否在服务器上设置了 $DISPLAY 环境变量来验证这是否有效。

  2. 调用 matplotlib.use(...) 来指定不同的显示后端,例如渲染到 pdf 文件,之前导入 pyplot,例如

    import matplotlib as mpl

    mpl.use('Agg')

    import matplotlib.pyplot as plt

更多详情请见http://matplotlib.org/faq/howto_faq.html#generate-images-without-having-a-window-appear

【讨论】:

  • 谢谢。如果您有 X11 connection rejected, wrong authentication... 第二个选项非常有用。
  • 当我尝试在 cgi 中使用 matplotlib 时,第二个解决方案对我有用。
  • 第二个解决方案在我尝试在 Windows 上运行时也帮助了我很多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 1970-01-01
  • 2012-11-29
  • 1970-01-01
  • 2021-11-27
相关资源
最近更新 更多