web-dev-qa-db-fra.com

Comment réinitialiser la numérotation d'invite d'entrée Jupyter / IPython?

Je viens d'écrire mon premier tutoriel complet Python utilisant des blocs-notes IPython. Tout s'est bien passé, sauf que j'ai fait beaucoup de tests et de déplacement de blocs. Comment réinitialiser le In [ ]: numérotation? J'ai essayé d'arrêter et de recharger, mais cela ne semble pas fonctionner.

60
user2651084

Je pense que le seul moyen d'accéder à ce que vous voulez est: - 'Kernel> Restart' (redémarrez le noyau) puis 'Cell> Run All' (exécutez le script).

52
0rhodabasi

Vous pouvez réinitialiser le noyau (raccourci: C-m .) et réexécutez l'intégralité du bloc-notes.

La fermeture et le rechargement ne fonctionnent pas car le code n'est pas réévalué.

21
Pascal Bugnion
'Kernel' -> 'Restart & Run All'

Assurez-vous simplement d'avoir enregistré votre bloc-notes. Vous pouvez également lier/affecter une touche du clavier pour exécuter cette commande.

'Help' -> 'Edit Keyboard Shortcuts'
10
Vlad Bezden

Chaque .ipynb Le fichier peut être ouvert dans un éditeur. Tout ce qui y est écrit est en texte brut (JSON). Pour chaque cellule qui a le "cell_type": "code" il y aurait une autre paire valeur/clé comme "execution_count": <number>. Comme vous l'avez peut-être deviné, c'est la numérotation rapide. Par conséquent, si le bloc-notes contient du code qui prendra du temps à exécuter (comme c'était le cas dans mon cas), cette méthode serait efficace en temps.

Maintenant, vous pouvez modifier manuellement chaque execution_count ou écrivez un script simple pour obtenir la bonne numérotation. Pour vérifier les résultats, actualisez simplement le bloc-notes dans le navigateur sans arrêter le noyau. Et, tout sera selon vos besoins, même toutes les variables/données chargées resteront dans l'environnement.

7
TrigonaMinima

Si vous voulez supprimer les numéros eux-mêmes, de sorte que chaque cellule affiche In [ ] (au lieu de quelque chose comme In [247] qui est le reste d'une incarnation précédente du noyau), utilisez "Cell"> "All Output"> "Clear" (dans Jupyter Notebook 5.4.0) ou "Edit"> "Clear All Outputs" (dans Jupyter Lab 0.32 .1).

Cela supprimera tous les numéros, même si vous êtes en train d'exécuter un ordinateur portable. Il ne réinitialisera pas la numérotation à 1; par exemple. si la dernière cellule que vous avez exécutée était 18, la prochaine sera 19.

Si vous l'utilisez parce que vous voulez savoir quelles cellules vous avez exécutées pendant cette exécution du noyau et quelles cellules vous n'avez pas encore exécutées, utilisez "Cellule"> "Toutes les sorties"> "Effacer" (ou "Modifier" ">" Effacer toutes les sorties ") immédiatement après le démarrage (ou le redémarrage) du noyau. Cela peut être utile lors du redémarrage d'un noyau ou lors de l'ouverture d'un bloc-notes enregistré ou dupliqué.

Cela supprimera également toutes les sorties du portable.

Merci à user2651084 dans un commentaire précédent pour cela.

1
jjpr

Cell > All Output > Clear Tout effacer In []: nombres mais ne les réinitialisez pas à 1 pour la cellule suivante que vous exécutez.

Kernel > Restart & Clear Output Redémarrez le noyau, effacez la sortie, effacez In []: nombres et remettez-les à 1 et effacez la sortie.

0
Javi12