1. ホーム
  2. サーバー
  3. LINUX

TclError: 表示名がなく、$DISPLAY環境変数もない。

2022-01-21 05:44:19
<パス

リモートサーバーで動作している matplotlib グラフを描画すると、以下のエラーが発生します。
_tkinter.TclError: 表示名がない、$DISPLAY がない 環境 変数

その理由は、サーバーにグラフィカル・インターフェースがないためです

方法1.
matplotlibからpylotをインポートする前に、コードを追加してください。

matplotlib をインポートする
matplotlib.use('Agg')
from matplotlib import pylot

方法2.
設定ファイルを修正する
~/.config/matplotlib/ フォルダの下に、matplotlibrc ファイルを作成します。
をクリックし、次の行を記述してください。
バックエンド : Agg

方法3.
pltとしてmatplotlib.pyplotをインポートします。
plt.switch_backend('agg')

参考にしてください。
https://stackoverflow.com/questions/2801882/generating-a-png-with-matplotlib-when-display-is-undefined/21071208