2012-11-12 13 views
22

सेटअप:matplotlib - अजगर त्रुटि

प्रोसेसर: x86_64 ऑपरेटिंग सिस्टम: GNU/Linux Distro:

मैं कोशिश कर रहा हूँ: Fedora Release 13 (Goddard).

Python 2.6.4

/usr/bin/python 

यहाँ निम्न समस्या है Matplotlib का उपयोग कर कुछ ग्राफ उत्पन्न करने के लिए और पायथन। जैसा कि मैंने solutions3 के बहुमत से सुना है .. matplotlib और 64 बिट आर्किटेक्चर के बीच संगतता समस्याएं प्रतीत होती हैं।

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 

धन्यवाद:

मैं से here

matplotlib स्थापित किया है यहाँ त्रुटि है कि मैं हो रही है।

+1

मुझे नहीं लगता कि यह एक लिंकिंग मुद्दा है लेकिन लगता है जैसे यह जीटीके डिस्प्ले नहीं बना सकता है। क्या आप एक्स 11 सर्वर चला रहे हैं या उदाहरण के लिए आप इसे एसएसएच पर चला रहे हैं? –

+0

मैं इसे एक एसएसएच पर चला रहा हूं। मैं 'ssh -X' विकल्प का उपयोग नहीं कर रहा हूं। – user1816896

उत्तर

33

matplotlib अपने जीटीके डिस्प्ले के लिए किसी भी एक्स सर्वर से कनेक्ट करने में विफल रहा है।

यहाँ कुछ विकल्प होते हैं:

  1. भागो एक स्थानीय X सर्वर और अपने स्थानीय मशीन पर उत्पादन प्रदर्शित करने के लिए, अपने SSH क्लाइंट में X11 अग्रेषण सक्षम। आप यह सत्यापित करके काम कर रहे हैं कि $ DISPLAY पर्यावरण चर सर्वर पर सेट है।

  2. कॉल matplotlib.use (...) बैक-एंड उदाहरण के लिए से पहले पीडीएफ फाइल करने के लिए प्रतिपादन, 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

धन्यवाद। ऐसे मामलों में जहां आपने 'एक्स 11 कनेक्शन अस्वीकार कर दिया है, गलत प्रमाणीकरण' ... दूसरा विकल्प काफी उपयोगी हो सकता है। – user1816896

+1

एक सीजीआई में matplotlib का उपयोग करने की कोशिश करते समय दूसरा समाधान मेरे लिए काम किया। –

+1

दूसरे समाधान ने विंडोज़ पर काम करने की कोशिश करते समय भी मुझे बहुत मदद की। – snd