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 摘要。