为了让生产代码在具有不同python安装的机器上运行,需要调用
import matplotlib as mpl
mpl.use('Agg')
这非常烦人,因为它会抛出警告
warnings.warn(_use_error_msg) /home/keith/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/init.py:1312:UserWarning:对matplotlib.use()的调用无效 因为已经选择了后端; matplotlib.use()必须在 pylab,matplotlib.pyplot之前调用, 或者第一次导入matplotlib.backends。
在某些机器上。我想压制这个,只有这个消息。我知道我可以打电话了
import warnings
warnings.filterwarnings("ignore")
但这可能会让我错过其他警告。
--------------编辑---------------
我找到了可能解决的问题,但我不确定
import warnings
import matplotlib as mpl
with warnings.catch_warnings():
warnings.simplefilter("ignore")
mpl.use('Agg')