2016-03-02 8 views
17

मैं linux में ssh कमांड का उपयोग कर एक अन्य मशीन में अपनी पायथन स्क्रिप्ट चला रहा हूं। आदेश नई मशीन में उचित पथ को परिभाषित करने के लिए अन्य मशीन में प्रवेश करने के बादरनटाइम त्रुटि: अमान्य DISPLAY चर

source ~/.bashrc 

,: मैं भी इस आदेश चला है। मुझे निम्नलिखित पायथन कोड लाइन चलाने के लिए त्रुटि संदेश मिल रहा था, फिर भी मैंने बैकएंड को परिभाषित करके this question में निर्देश का पालन करने का प्रयास किया है।

>>> import matplotlib 
>>> import pylab as plt 
>>> matplotlib.use('Agg') 
>>> import numpy as np 
>>> x=np.arange(0,2,0.001) 
>>> y=np.sin(x)**2+4*np.cos(x) 
>>> fig = plt.figure() 
>>> plt.plot(x,y,'r.')  

त्रुटि संदेश

This probably means that Tcl wasn't installed properly. 
Traceback (most recent call last): 
    File "Systematic_Optimised.py", line 513, in <module> 
    fig = plt.figure() 
    File "/vol/anaconda/lib/python2.7/site-packages/matplotlib/pyplot.py", line 435, in figure 
    **kwargs) 
    File "/vol/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py", line 47, in new_figure_manager 
    return new_figure_manager_given_figure(num, thisFig) 
    File "/vol/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py", line 54, in new_figure_manager_given_figure 
    canvas = FigureCanvasQTAgg(figure) 
    File "/vol/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt4agg.py", line 72, in __init__ 
    FigureCanvasQT.__init__(self, figure) 
    File "/vol/aibn84/data2/zahra/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt4.py", line 68, in __init__ 
    _create_qApp() 
    File "/vol/anaconda/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py", line 138, in _create_qApp 
    raise RuntimeError('Invalid DISPLAY variable') 
RuntimeError: Invalid DISPLAY variable 

कोई सुझाव कैसे समस्या

+1

क्या 'गूंज $ DISPLAY' आपकी मशीन पर। आपका ओएस क्या है, क्या आप एसएसएच पर चल रहे हैं? – 9000

+0

यदि आपको रिमोट मशीन पर डिस्प्ले का उपयोग करना है, तो आपको '-X' तर्क के साथ एसएसएच का उपयोग करने की आवश्यकता है। –

+1

@ क्लोस डी। मैंने लॉगिन करने के लिए 'ssh -X उपयोगकर्ता नाम @ host' कमांड का उपयोग किया है। – Dalek

उत्तर

28

आप import pylab as plt से पहले matplotlib.use('agg') घोषित करना चाहिए तय करने के लिए।

Reference

+0

अभी भी मेरे पास रनटाइम त्रुटि है :( फ़ाइल "/home/user/anaconda2/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py", लाइन 138, _create_qApp RuntimeError ('अमान्य DISPLAY चर') रनटाइम त्रुटि: अमान्य DISPLAY चर – Hana90

+1

इस [टिप्पणी] (https://github.com/matplotlib/matplotlib/issues/3466/#issuecomment-195899517) –

+1

पर एक नज़र डालें ऐसा लगता है कि आपको लोअर केस 'ए' का उपयोग करना चाहिए, तो आयात करें pylab आयात करने से पहले matplotlib.use ('agg') plt। –

6

जोड़े

plt.switch_backend('agg') 

के बाद

import matplotlib.pyplot as plt 
संबंधित मुद्दे