web-dev-qa-db-ja.com

RuntimeError:無効なDISPLAY変数

sshlinuxコマンドを使用して、別のマシンでpythonスクリプトを実行しています。私もこのコマンドを実行しました:

source ~/.bashrc 

新しいマシンで適切なパスを定義するために、他のマシンにログインした後。 この質問 の指示に従ってバックエンドを定義しようとしても、次のpythonコード行を実行するとエラーメッセージが表示されました。

>>> 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

問題を修正する方法の提案

43
Dalek

import pylab as pltの前にmatplotlib.use('agg')を宣言する必要があります。

参照

56
Mauro Baraldi

追加

plt.switch_backend('agg')

import matplotlib.pyplot as plt
41
ssmetkar