如何为笔记本和IPython内核

时间:2015-11-10 14:38:05

标签: ipython-notebook jupyter

我正在对IPython内核进行一项小型研究,并尝试从中获取调试日志,并了解它与笔记本的交互方式。现在看来我的发行版中附带的文档和示例配置已经过时了。

问题

  1. ipython内核日志文件的位置在哪里?
  2. 如何在jupyter notebook和ipython内核中启用DEBUG级别日志记录?
  3. 我尝试了什么

    请在提供官方文档

    的链接之前阅读本节

    首先,我使用以下命令为IPython和笔记本创建了配置文件:

    $ ipython profile create
    $ jupyter notebook --generate-config
    

    正如预期的那样创建三个文件:

    • .jupyter / jupyter_notebook_config.py
    • .ipython / profile_default / ipython_config.py
    • .ipython / profile_default / ipython_kernel_config.py

    在这些文件中,我发现了类似的评论片段:

     # Set the log level by value or name.
     # c.Application.log_level = 0
    

    我试图在jupyter配置中取消注释。它不是添加更多细节,而是完全禁用jupyter进程的控制台输出。我也尝试了值50它有相同的结果,值DEBUG在开始时给了我Python错误。

    我也在ipython的配置中使用了这些值,但我无法找到日志文件的位置。

    在邮件列表命令行中提到选项--log-level=DEBUG,实际上它适用于jupyter。但我真的想在配置文件中保留此设置,并为内核调试信息。

    配置选项NotebookApp.log_levelIPKernelApp.log_level也不会改变任何内容。

2 个答案:

答案 0 :(得分:7)

我相信这种功能仍然在愿望清单上:

https://github.com/ipython/ipython/issues/8570

但你可以尝试这样的事情:

jupyter notebook --debug > log.file 2>&1

ipykernel kernel --debug > log.file 2>&1

答案 1 :(得分:3)

您也可以尝试使用选项--debug:

启动ipython内核而不附加前端
ipython kernel --debug

通过在c.Session.debug = True中设置jupyter_notebook_config.py,您可以获得有关内核与forntend之间互动的大量信息。