Je me demandais s'il existe un moyen de redémarrer le noyau ipython sans le fermer, comme la fonction de redémarrage du noyau qui existe dans le cahier. J'ai essayé %reset
mais cela ne semble pas effacer les importations.
Même s'il serait pratique si %reset
efface l'espace de noms et le cache pour les importations (comme dans le bloc-notes), vous pouvez recharger explicitement un module précédemment importé en utilisant importlib.reload
dans python3.4 ou imp.reload
dans python3.0-3.3 (et si nécessaire réinitialiser le noyau dans un deuxième temps).
Je pourrais redémarrer le noyau, mais certaines sessions de console prennent plus de temps pour se reconnecter. Notebook détecte instantanément le redémarrage du noyau.
ipykernel.ipkernel.IPythonKernel
class a une méthode do_shutdown
avec le paramètre restart
qui est défini par défaut sur False
.
Obtenez une référence à ipykernel.kernelapp.IPKernelApp
qui contient une référence au noyau et appelez do_shutdown
du noyau en transmettant True
.
import IPython
app = IPython.Application.instance()
app.kernel.do_shutdown(True)
Comment ai-je testé?
$ #start notebook
$ jupyter notebook
$ #connect to existing kernel
$ jupyter console --existing
Dans la console qt, vous pouvez appuyer sur ctrl-
Si vous avez installé Spyder avec anaconda, ouvrez la fenêtre Spyder.
Puis Consoles (barre de menu) -> Redémarrez Consoles.
ou vous pouvez utiliser CTRL +. qui est un raccourci clavier pour redémarrer la console.