ipython 세션의 스크린 캐스트를 생성해야하고 뷰어를 혼란스럽게하지 않기 위해 warnings.warn
다른 패키지의 호출에서 발생하는 모든 경고를 비활성화하고 싶습니다 . 그러한 모든 경고를 자동으로 비활성화하도록 ipythonrc 파일을 구성하는 방법이 있습니까?
답변
나는 결국 그것을 알아 냈습니다. 장소:
import warnings
warnings.filterwarnings('ignore')
내부 ~/.ipython/profile_default/startup/disable-warnings.py
. 다른 사람이 같은 문제를 겪을 경우를 대비 하여이 질문에 답하고 기록을 남기겠습니다.
종종 경고를 한 번 보는 것이 유용합니다. 이것은 다음에 의해 설정 될 수 있습니다 :
warnings.filterwarnings(action='once')
답변
셀에서 다음 코드를 실행하여 분홍색 상자에 경고를 숨 깁니다.
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>.''')
답변
Jupyter에서는 허용되는 답변이 작동하지 않습니다 (적어도 일부 라이브러리를 사용하는 경우).
여기서 Javascript 솔루션은 이미 표시되고 있지만 앞으로 표시 될 경고는 표시하지 않는 경고 만 숨 깁니다.
Jupyter 및 JupyterLab에서 경고를 숨기거나 숨기기를 해제하기 위해 본질적으로 경고를 숨기거나 숨기기 해제하기 위해 CSS를 전환하는 다음 스크립트를 작성했습니다.
%%javascript
(function(on) {
const e=$( "<a>Setup failed</a>" );
const ns="js_jupyter_suppress_warnings";
var cssrules=$("#"+ns);
if(!cssrules.length) cssrules = $("<style id='"+ns+"' type='text/css'>div.output_stderr { } </style>").appendTo("head");
e.click(function() {
var s='Showing';
cssrules.empty()
if(on) {
s='Hiding';
cssrules.append("div.output_stderr, div[data-mime-type*='.stderr'] { display:none; }");
}
e.text(s+' warnings (click to toggle)');
on=!on;
}).click();
$(element).append(e);
})(true);
답변
Jupyter Lab의 경우 작동해야합니다 (@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>.''')
답변
이것은 매번 작동합니다-
import warnings
warnings.filterwarnings('ignore')