1. ホーム
  2. Python

[Python] RuntimeError: 無効な DISPLAY 変数

2022-02-22 05:57:13

I. 問題の内容 Python のバージョンは 3.6.3 で、Windows で matplotlib を使って描画するのは問題ないのですが、ssh でリモート描画するとエラーが報告されます。RuntimeError: RuntimeError: Invalid DISPLAY variable.

次に、理由ですが、matplotlibのデフォルトのバックエンドはTkAggで、バックエンドのFltAgg, GTK, GTKCairo, TkAgg, Wx, WxAggはいずれもGUIを必要とするので、sshで操作するとエラーが報告されるのだそうです。

第三に、解決策:matplotlibをインポートする際に、GUIを必要としないバックエンド(Agg、Cairo、PS、PDF、SVG)を指定することです。例を挙げます。

import matplotlib.pyplot as plt
plt.switch_backend('agg')