配置 IPython 以始终显示警告

Configure IPython to show warnings all the time

我第一次在 IPython shell 中做一些引发警告的事情,我看到了。但后来我没有。例如,

In [1]: import numpy as np
In [2]: np.uint8(250) * np.uint8(2)
/Users/me/anaconda/envs/py33/bin/ipython:1: RuntimeWarning: overflow encountered in ubyte_scalars
#!/bin/bash /Users/me/anaconda/envs/py33/bin/python.app
Out[2]: 244

In [3]: np.uint8(250) * np.uint8(2)
Out[3]: 244       # No warning!

如何配置 IPython 以始终显示警告?我试过:

import warnings
warnings.filterwarnings('always')

但这没有任何区别。

我认为 IPython 团队相对 recently 解决了这个问题。由于某种不寻常的设计决定,它在 warnings 上表现不佳。在 Python 中打开 always 对我来说就足够了,现在如果我在 IPython 中做同样的事情:

In [1]: import warnings

In [2]: warnings.filterwarnings('always')

In [3]: import numpy as np

In [4]: np.uint8(250) * np.uint8(2)
/home/dsm/sys/root/bin/ipython3.4:1: RuntimeWarning: overflow encountered in ubyte_scalars
  #!/home/dsm/sys/root/bin/python3.4
Out[4]: 244

In [5]: np.uint8(250) * np.uint8(2)
/home/dsm/sys/root/bin/ipython3.4:1: RuntimeWarning: overflow encountered in ubyte_scalars
  #!/home/dsm/sys/root/bin/python3.4
Out[5]: 244