ipython / ipython/ipykernel

Should initialization errors be exposed to the user?

未關閉
#1,408 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Python
星號
734
分支
412
平均合併
1 天 5 小時
30 天內合併 PR
8

描述

Currently, if user configures `InteractiveShellApp.exec_lines` and it fails, there is no way for them to see the error in notebook.

For example set `c.InteractiveShellApp.exec_lines=["raise ValueError()"]`.

This is visible in IPython/jupyter-server because it gets written to the terminal, but it does not show up in the notebook. There is even explicit code making sure that it won't be attached to the output of the first cell once it gets run:

https://github.com/ipython/ipykernel/blob/84211d7227fd5faa9d6e485641c1a4df6e7df2b4/ipykernel/kernelapp.py#L730-L737

With code to the same effect in IPython itself: https://github.com/ipython/ipython/blob/cc614bdc1d3f61303e265c26d593d384e4a90d1e/IPython/core/shellapp.py#L341-L360

I wonder if we should emit a special message for any output so that it would be shown in the Notebook console? The same way as unhandled ipywidget messages land in the console?

I mean this log console:

Image

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。