2016-03-02 19 views
17

linux'daki ssh komutunu kullanarak python betiğimi başka bir makinede çalıştırıyorum. yeni makine uygun yolları tanımlamak üzere, başka bir makine giriş yaptıktan sonraRuntimeError: Geçersiz DISPLAY değişkeni

source ~/.bashrc 

: Ayrıca bu komutu çalıştırmak. Arka ucu tanımlayarak this question'daki yönergeleri izlemeyi denedim bile, aşağıdaki python kod satırlarını çalıştırmak için hata mesajı alıyordum.

>>> 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.')  

hata mesajı

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 

Sen import pylab as plt önce matplotlib.use('agg') ilan etmeli sorunu

+1

sonra makinenizde echo $ DISPLAY' 'Do ekleyin. İşletim Sisteminiz nedir, ssh üzerinden mi koşuyorsunuz? – 9000

+0

Uzaktaki makinede ekranı kullanmanız gerekiyorsa, ssh'i -X' argümanıyla kullanmanız gerekir. –

+1

@KlausD. Giriş yapmak için ssh -X username @ host' komutunu kullandım. – Dalek

cevap

28

nasıl düzeltileceği herhangi bir öneri.

Reference

+0

hala çalışma zamanı halim var :( Dosya "/home/user/anaconda2/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py", satır 138, _create_qApp zam RuntimeError ('Geçersiz EKRAN değişken') RuntimeError içinde: Geçersiz EKRAN değişken bu [comment] bir göz atın – Hana90

+1

(https://github.com/matplotlib/matplotlib/issues/3466/#issuecomment-195899517) –

+1

küçük harf 'a' kullanmanız gerektiği gözüküyor, bu yüzden matplotlib.use ('agg') pipet almadan önce pt. –

6

plt.switch_backend('agg') 

import matplotlib.pyplot as plt 
İlgili konular