Existe-t-il un équivalent à CTRL+C dans IPython Notebook dans Firefox pour casser les cellules en cours d'exécution?

J'ai commencé à utiliser le bloc-notes IPython et je l'apprécie. Parfois, j'écris du code buggy qui prend des exigences de mémoire massives ou a une boucle infinie. Je trouve l'option" interrompre le noyau " lente ou peu fiable, et parfois je dois redémarrer le noyau, perdant tout en mémoire.

J'écris aussi parfois des scripts qui font que OS X manque de mémoire, et je dois faire un redémarrage difficile. Je ne suis pas sûr à 100%, mais quand j'ai écrit des bugs comme celui-ci avant et couru Python dans le terminal, je peux habituellement CTRL+C mes scripts.

J'utilise la distribution Anaconda du portable IPython avec Firefox sur Mac OS X.

65
demandé sur Lyes CHIOUKH 2013-07-10 05:48:41

6 réponses

Je pourrais me tromper, mais je suis sûr que le bouton "Interrompre le noyau" envoie juste un signal SIGINT au code que vous utilisez actuellement (cette idée est supportée par le commentaire de Fernando ici), ce qui est la même chose que frapper CTRL+C ferait. Certains processus au sein de python gèrent les SIGINTs plus brusquement que d'autres.

Si vous avez désespérément besoin d'arrêter quelque chose qui s'exécute dans iPython Notebook et que vous avez démarré iPython Notebook à partir d'un terminal, vous pouvez appuyer sur CTRL + C deux fois dans ce terminal pour interrompre l'ensemble du serveur portable iPython. Cela arrêtera iPython Notebook alltogether, ce qui signifie qu'il ne sera pas possible de redémarrer ou d'enregistrer votre travail, donc ce n'est évidemment pas une excellente solution (vous devez appuyer deux fois sur CTRL+C parce que c'est une fonctionnalité de sécurité pour que les gens ne le fassent pas par accident). En cas d'urgence, cependant, il tue généralement le processus plus rapidement que le bouton "Interrompre le noyau".

41
répondu seaotternerd 2013-07-10 05:40:14

Vous pouvez appuyer deux fois sur I pour interrompre le noyau.

42
répondu cutie 2016-07-06 16:55:17

À l'intérieur du jupyter, appuyez sur " esc " pour entrer en mode d'échappement. Puis appuyez deux fois sur" i " pour arrêter le script en cours d'exécution.

10
répondu jsog 2017-11-11 22:55:55

Pour ajouter à ce qui précède: si l'interruption ne fonctionne pas, vous pouvez redémarrer le noyau.

Allez dans la liste déroulante du noyau > > redémarrer > > redémarrer et effacer la sortie. De ce fait habituellement le tour. Si cela ne fonctionne toujours pas, tuer le noyau dans le terminal (ou le gestionnaire des tâches), puis redémarrez.

L'interruption ne fonctionne pas bien pour tous les processus. J'ai surtout ce problème en utilisant le noyau R.

3
répondu tomp 2017-01-12 15:47:46

Voici {[5] } des raccourcis pour le bloc-notes IPython.

Ctrl-m i interrompt le noyau. (c'est-à-dire la seule lettre I après Ctrl-m)

Selon cette réponse , I fonctionne aussi deux fois.

2
répondu Skuli 2017-05-23 12:18:13

Une alternative plus rapide sera de simplement copier l'adresse localhost, Ctrl C sur cmd pour arrêter le serveur, redémarrez le serveur puis collez l'adresse d'un nouvel onglet.

0
répondu West 2018-03-12 13:37:56