Matplotlib:检查是否未定义DISPLAY

时间:2016-01-09 09:50:45

标签: python matplotlib ssh

有时候我会通过ssh运行我的脚本。 This answer告诉我要设置

import matplotlib
#matplotlib.use('Agg') # Must be before importing matplotlib.pyplot or pylab!
import matplotlib.pyplot as plt

当我通过ssh运行脚本时出现undefined SCREEN错误。但是,使用该序言,当我在本地计算机上运行脚本时,我无法以交互方式查看图形。

检查屏幕是否已定义的条件是什么?我想做

if SCREEN == None:
  matplotlib.use('Agg')

如何正确的代码,我该如何检查?

1 个答案:

答案 0 :(得分:3)

看起来最简单的方法是检查'DISPLAY'环境变量

import os

# 'DISPLAY' will be something like this ':0'
# on your local machine, and None otherwise
if os.environ.get('DISPLAY') is None:
    matplotlib.use('Agg')