97 votes

Comment réinitialiser la numérotation des invites de saisie de Jupyter/IPython ?

Je viens d'écrire mon premier tutoriel complet sur Python en utilisant les notebooks d'IPython. Tout s'est bien passé, sauf que j'ai fait beaucoup de tests et de déplacements de blocs. Comment puis-je réinitialiser le In [ ]: la numérotation ? J'ai essayé de quitter et de recharger, mais cela ne semble pas fonctionner.

76voto

orhanodabasi Points 932

Je pense que le seul moyen d'obtenir ce que tu veux est.. : - 'Kernel > Restart' (redémarrer le noyau) et ensuite 'Cell > Run All' (exécuter le script).

22voto

TrigonaMin Points 1

Chaque .ipynb 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 clé-valeur comme "execution_count": <number> . Comme vous l'avez peut-être deviné, il s'agit de la numérotation des invites. Par conséquent, si le cahier contient du code qui prendra du temps à exécuter (comme c'était le cas pour moi), cette méthode est efficace.

Maintenant, soit vous pouvez changer manuellement chaque execution_count ou écrire un simple script pour obtenir la bonne numérotation. Pour vérifier les résultats, il suffit de rafraîchir le carnet dans le navigateur sans arrêter le noyau. Et, tout sera conforme à vos besoins, même toutes les variables/données chargées resteront dans l'environnement.

20voto

Pascal Bugnion Points 3323

Vous pouvez réinitialiser le noyau (raccourci : C-m . ) et réexécuter l'ensemble du cahier.

Quitter et recharger ne fonctionne pas car le code n'est pas réévalué.

15voto

Vlad Bezden Points 5024
'Kernel' -> 'Restart & Run All'

Assurez-vous juste d'avoir sauvegardé votre carnet de notes. Vous pouvez également lier/assigner une touche du clavier pour exécuter cette commande.

'Help' -> 'Edit Keyboard Shortcuts'

7voto

jjpr Points 68

Si ce que vous voulez, c'est supprimer les chiffres eux-mêmes, pour que chaque cellule affiche In [ ] (au lieu de quelque chose comme In [247] qui est un vestige 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 cahier. Elle ne remettra 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 utilisez cette méthode parce que vous voulez savoir clairement 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 "Edition" > "Effacer toutes les sorties") immédiatement après avoir démarré (ou redémarré) le noyau. Cela peut être utile lorsque vous redémarrez un noyau, ou lorsque vous ouvrez un cahier sauvegardé ou dupliqué.

Cela supprimera également toutes les sorties du carnet.

Merci à l'utilisateur2651084 dans un commentaire précédent pour cela.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X