如何禁用jupyter笔记本历史记录

Rob*_*łka 8 python ipython jupyter-notebook

我正在使用Jupyter Notebook在Python 2中编写代码.我将其调用为:

c:\python27\scripts\jupyter-notebook --no-browser
Run Code Online (Sandbox Code Playgroud)

同时我使用IPython控制台,启动时带:

c:\python27\scripts\ipython
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是Jupyter历史被保存并且与IPython历史混合在一起.我根本不想要Jupyter笔记本的历史-有没有办法禁用它,同时保留IPython**历史记录?

平台:win32

更新:

我试图使用建议的设置摘要方法.但是当我在配置中输入"c.Session.digest_history_size = 0"时,重新启动笔记本,在某个单元格中写入"print'next test'",重启单独的IPython并在按下后我得到的第一件事是"打印"下一个测试"".

我怎么能摆脱它?

vil*_*laa 6

请参阅Github 上的 Jupyter 问题,了解此解决方案的起源。

IPython 配置简介中讨论了使用位于主目录中的配置脚本~/.ipython/profile_default/。这是配置文件的相关目录default,如果创建其他配置文件,则会出现其他类似的目录。

ipython_config.py在该目录中可以包含将在每次使用 IPython 时运行的文件。但是,该文件ipython_kernel_config.py将在调用 IPython 内核时运行,而不是在调用 IPython 解释器本身时运行。人们可以通过这样做来测试这一点ipython kernel --debug

Jupyter 笔记本使用这种内核调用方式。ipython_kernel_config.py因此,在目录中包含一个脚本~/.ipython/profile_default/(假设default配置文件),其中包含以下行:

# Configuration file for ipython-kernel.

c = get_config()

c.HistoryManager.enabled = False
Run Code Online (Sandbox Code Playgroud)

当使用这种风格的内核调用时,应该完全禁用历史管理器。因此,不应通过 Jupyter 调用填充命令历史记录。

history.sqlite顺便说一句,同一目录中的文件是命令历史记录。因此,删除它或将其移动到不同的文件名将清除命令历史缓冲区。