在Python中禁止单个警告消息

时间:2016-05-27 17:48:44

标签: python matplotlib warnings backend suppress-warnings

为了让生产代码在具有不同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')

0 个答案:

没有答案