web-dev-qa-db-ja.com

ipythonですべての警告を隠す

Ipythonセッションのスクリーンキャストを作成する必要があります。また、混乱する視聴者を避けるために、さまざまなパッケージからのwarnings.warn呼び出しによって発行されるすべての警告を無効にします。このような警告をすべて自動的に無効にするようにipythonrcファイルを構成する方法はありますか?

219
astrofrog

私は結局それを考え出した。場所:

import warnings
warnings.filterwarnings('ignore')

~/.ipython/profile_default/startup/disable-warnings.py内他の誰かが同じ問題に遭遇した場合のために、私はこの質問と答えを記録に残しておきます。

多くの場合、一度警告を表示すると便利です。これは次のように設定できます。

warnings.filterwarnings(action='once')
496
astrofrog

セル内で次のコードを実行して、ピンク色のボックス内の警告を非表示にします。

from IPython.display import HTML
HTML('''<script>
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);
</script>
To toggle on/off output_stderr, click <a href="javascript:code_toggle_err()">here</a>.''')
49
matthiash

Jupyterラボの場合、これは動作するはずです(@Alasja)

from IPython.display import HTML
HTML('''<script>
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);
</script>
To toggle on/off output_stderr, click <a onclick="javascript:code_toggle_err()">here</a>.''')
1
ottowg