关于python:在ipython中隐藏所有警告

Hide all warnings in ipython

我需要制作一个ipython会话的屏幕录像,并且为了避免混淆观众,我想禁用来自不同包的warnings.warn调用发出的所有警告。 有没有一种方法可以将ipythonrc文件配置为自动禁用所有此类警告?


我最终想通了。 地点:

1
2
import warnings
warnings.filterwarnings('ignore')

~/.ipython/profile_default/startup/disable-warnings.py内部。 如果有人遇到相同问题,我将保留此问题和答案以供记录。

经常看到一次警告很有用。 可以通过以下方式设置:

1
warnings.filterwarnings(action='once')


通过在单元格中运行以下代码,我将警告隐藏在粉红色框中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from IPython.display import HTML
HTML('''
code_show_err=false;
function code_toggle_err() {
 if (code_show_err){
 $('div.output_stderr').hide();
 } else {
 $('div.output_stderr').show();
 }
 code_show_err = !code_show_err
}
$( document ).ready(code_toggle_err);

To toggle on/off output_stderr, click here.'''
)


对于Jupyter Lab,这应该可以工作(@Alasja)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from IPython.display import HTML
HTML('''
var code_show_err = false;
var code_toggle_err = function() {
 var stderrNodes = document.querySelectorAll('[data-mime-type="application/vnd.jupyter.stderr"]')
 var stderr = Array.from(stderrNodes)
 if (code_show_err){
     stderr.forEach(ele => ele.style.display = 'block');
 } else {
     stderr.forEach(ele => ele.style.display = 'none');
 }
 code_show_err = !code_show_err
}
document.addEventListener('DOMContentLoaded', code_toggle_err);

To toggle on/off output_stderr, click here.'''
)