Reset ipython kernel

人盡茶涼 提交于 2019-11-27 22:56:35

问题


I was wondering if there is a way to restart the ipython kernel without closing it, like the kernel restart function that exists in the notebook. I tried %reset but that doesn't seem to clear the imports.


回答1:


Even though it would be handy if %reset would clear the namespace and the cache for the imports (as in the notebook) one can explicitly reload a previously imported module using importlib.reload in python3.4 or imp.reload in python3.0-3.3 (and if needed reset the kernel in a second step).




回答2:


I could restart the kernel, but some console sessions take longer to reconnect. Notebook detects kernel restart instantly.

ipykernel.ipkernel.IPythonKernel class has a do_shutdown method with restart parameter which defaults to False.

Get a reference to ipykernel.kernelapp.IPKernelApp which has a reference to the kernel and call do_shutdown of the kernel by passing True.

import IPython
app = IPython.Application.instance()
app.kernel.do_shutdown(True)  

How did I test?

$ #start notebook
$ jupyter notebook

$ #connect to existing kernel
$ jupyter console --existing



回答3:


If you have installed Spyder with anaconda, then open Spyder window.

Then Consoles (menu bar) -> Restart Consoles.

or you can use CTRL+. which is a shortcut key to restart the console.




回答4:


In the qt console you could hit ctrl-




回答5:


IPython Qt-console has a reset kernel feature. You could use that if you are using IPython Qt. IMO it is better than using from the shell.




回答6:


In 3.7 Anaconda, just go to Kernel, select Restart



来源:https://stackoverflow.com/questions/26603456/reset-ipython-kernel

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!