2012-11-12 65 views
22

設置:Matplotlib - Python的錯誤

處理器: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 

感謝。

+1

我不認爲這是一個連接問題,但聽起來似乎無法創建GTK顯示。你運行的是X11服務器,還是通過ssh運行它? –

+0

我通過SSH運行這個。 我沒有使用'ssh -X'選項。 – user1816896

回答

33

matplotlib未能連接到其GTK顯示任何X服務器。

有幾個選項在這裏:

  1. 運行的本地X服務器和啓用X11轉發的SSH客戶端,以顯示你的本地計算機上的輸出。您可以通過檢查$ 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瞭解更多詳情。

+0

謝謝。如果你的X11連接被拒絕,認證錯誤......第二個選項可能非常有用。 – user1816896

+1

嘗試在cgi中使用matplotlib時,第二種解決方案對我起作用。 –

+1

第二種解決方案在幫助我在Windows上運行時也幫了我很大忙。 – snd