matplotlib.use('Agg')するときの注意点
GUIがない環境で
_tkinter.TclError: no display name and no $DISPLAY environment variable
みたいなエラーに遭遇した。
ぐぐると、backendの設定をAgg
にすればよい的な回答があった。
(普段はmatplotlibrc
に設定してあるんだけど、ちょっと別環境だったので・・・)そういえば、そうだったと思い出したところまでは、よかった。
けど、少しハマってしまった。ちゃんとつぶさに読めばよかったんだろうけど、順番なんて気にしていなかったのが敗因。
import matplotlib import matplotlib.pyplot as plt matplotlib.use('Agg')
はダメで、
import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt
で、OK. pyplotが呼ばれる(importされる?)前に、matplotlib.use('Agg')
をしないといけないところが要注意。
こう書いちゃうと、E402 module level import not at top of file
で、flake8に怒られてしまう・・・。