Sto eseguendo il mio script python in un'altra macchina utilizzando il comando ssh
in linux
. Ho anche eseguire questo comando:RuntimeError: Variabile DISPLAY non valida
source ~/.bashrc
dopo il login l'altra macchina, al fine di definire i percorsi corretti nella nuova macchina. Stavo ricevendo il messaggio di errore per l'esecuzione delle seguenti linee di codice Python anche se ho provato a seguire le istruzioni in this question definendo il backend.
>>> 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.')
Il messaggio di errore
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
ogni suggerimento come risolvere il problema
fare 'echo $ display' sulla vostra macchina. Qual è il tuo sistema operativo, stai correndo su ssh? – 9000
Se è necessario utilizzare il display sul computer remoto, è necessario utilizzare ssh con l'argomento '-X'. –
@KlausD. Ho usato il comando 'ssh -X username @ host' per accedere. – Dalek