web-dev-qa-db-fra.com

Comment fermer correctement IPython Notebook?

Comment fermer correctement IPython Notebook?

Actuellement, je ferme juste les onglets du navigateur, puis utilise Ctrl+C dans le terminal.
Malheureusement, ni exit() ni cocher Kill kernel upon exit n'aident (ils tuent le noyau s'ils ne quittent pas l'iPython).

90
Piotr Migdal

Il n’existe actuellement pas de meilleur moyen de le faire que Ctrl + C dans le terminal.

Nous réfléchissons à la manière de procéder à un arrêt explicite, mais il existe certaines tensions entre le bloc-notes en tant qu'application mono-utilisateur, où l'utilisateur est libre de l'arrêter, et en tant que serveur multi-utilisateurs, où seul un administrateur devrait pouvoir pour l'arrêter. Nous n'avons pas encore trouvé comment gérer les différences.

(Pour les futurs lecteurs, il s'agit de la situation avec 0.12 publié et 0.13 en développement.)

Mise à jour décembre 2017

Le bloc-notes IPython est devenu le bloc-notes Jupyter. Une version récente a ajouté une commande jupyter notebook stop Shell qui arrêtera un serveur exécuté sur ce système. Vous pouvez indiquer le numéro de port sur la ligne de commande s'il ne s'agit pas du port 8888 par défaut.

Vous pouvez également utiliser nbmanager , une application de bureau pouvant afficher les serveurs en cours d’exécution et les arrêter.

Enfin, nous travaillons sur l'ajout de:

  • Une option de configuration pour éteindre automatiquement le serveur si vous ne l'utilisez pas pendant une période spécifiée.
  • Un bouton dans l'interface utilisateur pour arrêter le serveur. (Nous savons que c'est un peu fou que cela ait pris autant de temps. Changer l'interface utilisateur est controversé.)
95
Thomas K

Si vous lancez jupyter en arrière-plan comme moi:

jupyter notebook &> /dev/null &

Ensuite, pour quitter jupyter complètement, à la place de Ctl-C, créez une commande alias:

echo 'alias quitjupyter="kill $(pgrep jupyter)"' >> ~/.bashrc

Redémarrez votre terminal. Tuez toutes les instances de Jupyter:

quitjupyter

Remarque: utilisez les guillemets doubles à l'intérieur des guillemets simples, comme indiqué ci-dessus. Inversement, vous évaluerez l'expression avant de l'écrire dans votre fichier .bashrc (vous voulez écrire la commande elle-même et non pas 'kill 1430' ou tout autre numéro de processus pouvant être associé à une instance actuelle de Jupyter). Bien sûr, vous pouvez utiliser n'importe quel alias que vous souhaitez. J'utilise effectivement 'qjup':

echo 'alias qjup="kill $(pgrep jupyter)"' >> ~/.bashrc

Redémarrez votre terminal. Tuez toutes les instances de Jupyter:

qjup
20
BBW Before Windows

Je pense que la réponse acceptée est périmée et qu’elle n’est plus valide.

Vous pouvez mettre fin à Jupyter Notebook à partir de l’interface Web sur le fichier élément.

 enter image description here

Lorsque vous déplacez le curseur de la souris sur "fermer et arrêter", vous verrez l'explication suivante. 

 enter image description here

Et lorsque vous cliquez sur "fermer et arrêter", vous verrez le message suivant sur l'écran du terminal.

 enter image description here

16
wasabi

Essayez de tuer le processus pythonw à partir du gestionnaire de tâches (si Windows) si rien d'autre ne fonctionne.

5
fixxxer
Linux (Ubuntu 14.04)

Comme mentionné, essayez de supprimer correctement les processus du bloc-notes ipython en accédant d'abord à l'onglet "en cours d'exécution" de votre session de navigateur ipynb/jupyter, puis vérifiez les terminaux ouverts sur votre console et fermez-les avec ctrl-c. Ce dernier devrait être évité si possible.

Si vous exécutez un ipython notebook list et continuez de voir les serveurs ipython en cours d’exécution sur différents ports, notez les ports sur lesquels les blocs-notes existants sont servis. Puis fermez vos ports TCP: 

fuser -k 'port#'/tcp 

Je ne sais pas si cela comporte d'autres risques. Si oui, faites le moi savoir. 

3
Soham

En fait, je pense qu’il ya un moyen plus simple de tuer le (s) processus en utilisant kill ou le gestionnaire de tâches.

Dans le tableau de bord Jupyter Notebook (l'interface du navigateur que vous voyez lors du premier lancement de 'jupyter notebook'), accédez à l'emplacement des fichiers de bloc-notes que vous avez fermés dans le navigateur, mais dont les noyaux sont toujours en cours d'exécution.

les fichiers iPython Notebook apparaissent avec une icône représentant un livre, affichée en vert si le noyau est en cours d'exécution ou en gris si le noyau n'est pas en cours d'exécution.

Il suffit de cocher la case en regard du fichier en cours d'exécution, puis de cliquer sur le bouton Arrêter qui apparaît au-dessus de celui-ci.

Cela arrêtera correctement le noyau associé à ce cahier spécifique.

2
Andrew Medlin

Environnement


Mon système d'exploitation est Ubuntu 16.04 et jupyter est 4.3.0.

Méthode


D'abord, j'ai déconnecté jupyter sur sa page d'accueil sur le navigateur (le bouton de déconnexion est en haut à droite)

Deuxièmement, tapez Ctrl + C dans votre terminal et cela montrera:

[I 15: 59: 48.407 NotebookApp] interrompu Servir des notebooks depuis le local répertoire:/home/Nom d'utilisateur 0 noyaux actifs 

Le Jupyter Notebook est exécuté à l'adresse: http: // localhost: 8888 /? token = a572c743dfb73eee28538f9a181bf4d9ad412b19fbb96c82

Arrêtez ce serveur portable (y/[n])?

Dernière étape, saisissez y dans les 5 secondes, et si cela indique:

[C 15: 59: 50.407 NotebookApp] Arrêt confirmé
[I 15: 59: 50.408 NotebookApp] Arrêter les noyaux

Félicitations! Vous fermez votre jupyter avec succès.

2
Wei Yuang Hsu

La première étape consiste à enregistrer tous les cahiers ouverts. Et ensuite, pensez à arrêter votre ordinateur portable Jupyter en cours d'exécution. Vous pouvez utiliser cette commande simple: 

$ jupyter notebook stop 
Shutting down server on port 8888 ...

Ce qui prend également le numéro de port en argument et vous pouvez éteindre le cahier jupyter en douceur. 

Par exemple: 

jupyter notebook stop 8889 
Shutting down server on port 8889 ...

De plus, pour connaître votre instance actuelle de juypter, vérifiez la commande ci-dessous: 

Shell> juypter notebook list 
Currently running servers:
http://localhost:8888/?token=ef12021898c435f865ec706d7c9af8607a7ba58bbee98632 :: /Users/username/jupyter-notebooks [/code]
2
moronkreacionz

Ces commandes ont fonctionné pour moi:

jupyter notebook list # shows the running notebooks and their port-numbers
                      # (for instance: 8080)
lsof -n -i4TCP:[port-number] # shows PID.
kill -9 [PID] # kill the process.

Cette réponse a été adaptée de ici .

0
PatriceG

Dans la session du navigateur, vous pouvez également accéder à Kernel, puis cliquer sur Restart and Clear Output

0
Susanna Maier

Étape 1 - Sur Shell, il suffit de faire Ctrl + Z (Ctrl + C) Étape 2 _ Fermez le navigateur Web.

0
Reihan_amn

Je suis un copier-coller du manuel de démarrage rapide de Jupyter/IPython NotebookGuide Documentation, publié le 13 février 2018 . http://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/ execute.html

1.3.3 Fermer un bloc-notes: arrêt du noyau Lorsqu'un bloc-notes est ouvert, son «moteur de calcul» (appelé le noyau) est automatiquement démarré. Fermer l'onglet. Du navigateur du bloc-notes ne ferme pas le noyau, mais le noyau continuera à fonctionner jusqu'à ce qu'il soit explicitement arrêté . Pour fermer un noyau, allez au bloc-notes associé et cliquez sur le menu Fichier -> Fermer et Halt. Sinon, le tableau de bord Notebook comporte un onglet nommé En cours d’exécution qui affiche tous les cahiers en cours d’exécution (c’est-à-dire les noyaux) et permet de les fermer

Résumé: Commencez par fermer et arrêter les cahiers en cours d'exécution.

1.3.2 Fermez l'application Jupyter Notebook. La fermeture du navigateur (ou de l'onglet) ne ferme pas l'application Jupyter Notebook. Pour fermer complètement le terminal, vous devez fermer le terminal associé De manière plus détaillée, l’application Jupyter Notebook est un serveur qui apparaît dans votre navigateur à une adresse par défaut ( Http: // localhost : 8888 ). Fermer le navigateur ne ferme pas le serveur. Vous pouvez rouvrir l'adresse précédente .__ et l'application Jupyter Notebook sera réaffiche . Vous pouvez exécuter plusieurs copies de l'application Jupyter Notebook et elles s'afficheront à une adresse similaire (uniquement le numéro Après «: ”, Qui est le port, augmentera pour chaque nouvelle copie). Étant donné qu’avec une seule application Jupyter Notebook App, vous pouvez Déjà ouvrir de nombreux ordinateurs portables, nous ne vous recommandons pas d’exécuter plusieurs copies de Jupyter Notebook App.

Résumé: Deuxièmement, quittez le terminal à partir duquel vous avez renvoyé Jupyter.

0