在不重新启动的情况下重置 IPython 内核

Reset an IPython kernel without restarting

有没有办法以编程方式重置IPython内核而不重新启动它?

目前我正在呼叫 KernelManager.restart_kernel,但这很慢。

这样做的目的是在 py.test 插件中隔离单元测试,以便将笔记本单元用作单元测试。如果您有其他想法来实现这一目标,我会很乐意提出建议。代码在这里:

https://github.com/zonca/pytest-ipynb/blob/master/pytest_ipynb/plugin.py#L100

我使用了 %reset IPython 魔术功能而不是重新启动内核。这会删除所有变量但不会再次执行导入。适合我的应用。

请参阅 IPython 文档:http://ipython.readthedocs.org/en/stable/interactive/magics.html?highlight=magic#magic-reset