Como fechar o notebook IPython corretamente?
Atualmente, eu apenas fecho as guias do navegador e uso Ctrl+C
no terminal.
Infelizmente, exit()
nem o tique nem Kill kernel upon exit
o tick ajudam (eles matam o kernel, mas não saem do iPython).
Como fechar o notebook IPython corretamente?
Atualmente, eu apenas fecho as guias do navegador e uso Ctrl+C
no terminal.
Infelizmente, exit()
nem o tique nem Kill kernel upon exit
o tick ajudam (eles matam o kernel, mas não saem do iPython).
Respostas:
Atualmente, não há uma maneira melhor de fazer isso do que Ctrl + C no terminal.
Estamos pensando em como ter um desligamento explícito, mas há alguma tensão entre o notebook como um aplicativo de usuário único, onde o usuário é livre para interrompê-lo, e como um servidor multiusuário, onde apenas um administrador deve ser capaz para pará-lo. Ainda não descobrimos como lidar com as diferenças.
(Para leitores futuros, esta é a situação com 0,12 lançado e 0,13 em desenvolvimento.)
Atualização de dezembro de 2017
O Notebook IPython se tornou o Notebook Jupyter. Uma versão recente adicionou um jupyter notebook stop
comando shell que desligará um servidor em execução naquele sistema. Você pode passar o número da porta na linha de comando se não for a porta 8888 padrão.
Você também pode usar o nbmanager , um aplicativo de desktop que pode mostrar servidores em execução e desligá-los.
Por fim, estamos trabalhando para adicionar:
jupyter notebook &
é uma má ideia, pois Ctrl
+ C
não se aplica a esta situação
Se você executar o jupyter em segundo plano como eu:
jupyter notebook &> /dev/null &
Em seguida, para sair do jupyter completamente, em vez de Ctl-C, faça um comando alias:
echo 'alias quitjupyter="kill $(pgrep jupyter)"' >> ~/.bashrc
Reinicie seu terminal. Elimine todas as instâncias do jupyter:
quitjupyter
Nota: use aspas duplas entre aspas simples, conforme mostrado acima. A outra maneira avaliará a expressão antes de gravá-la em seu .bashrc (você deseja escrever o comando em si, não 'kill 1430' ou qualquer número de processo que possa estar associado a uma instância jupyter atual). Claro que você pode usar qualquer apelido que desejar. Na verdade, eu uso 'qjup':
echo 'alias qjup="kill $(pgrep jupyter)"' >> ~/.bashrc
Reinicie seu terminal. Elimine todas as instâncias do jupyter:
qjup
kill $(pgrep jupyter)
por si só é excelente. Eu estava correndo jupyter notebook
de um terminal remoto que travou - a abordagem CTRL + C é impossível ao fazer o login novamente. Salvar a opção nuclear de reiniciar remotamente, isso é ótimo.
pkill jupyter
? pkill
é pgreb
, mas para matar processos.
Acho que a resposta aceita está desatualizada e não é mais válida.
Você pode encerrar o notebook jupyter da interface da web no item de menu de arquivo.
Quando você move o cursor do mouse em "fechar e parar", você verá a seguinte explicação.
E quando você clicar em "fechar e parar", você verá a seguinte mensagem na tela do terminal.
O primeiro passo é salvar todos os cadernos abertos. E então pense em desligar seu Jupyter Notebook. Você pode usar este comando simples:
$ jupyter notebook stop
Shutting down server on port 8888 ...
O que também leva o número da porta como argumento e você pode desligar o notebook jupyter normalmente.
Por exemplo:
jupyter notebook stop 8889
Shutting down server on port 8889 ...
Além disso, para saber sua instância juypter atual em execução, verifique o comando abaixo:
shell> juypter notebook list
Currently running servers:
http://localhost:8888/?token=ef12021898c435f865ec706d7c9af8607a7ba58bbee98632 :: /Users/username/jupyter-notebooks [/code]
Linux (Ubuntu 14.04)
Como mencionado, tente encerrar os processos do notebook ipython apropriadamente indo primeiro para a guia "running" na sessão do navegador ipynb / jupyter e, em seguida, verifique os terminais abertos em seu console e desligue com ctrl-c. Este último deve ser evitado, se possível.
Se você executar um ipython notebook list
e continuar a ver os servidores ipython em execução em portas diferentes, anote para quais portas os notebooks existentes estão sendo servidos. Em seguida, desligue suas portas TCP:
fuser -k 'port#'/tcp
Não tenho certeza se existem outros riscos envolvidos em fazer isso. Se sim, me avise.
Meio Ambiente
Meu sistema operacional é Ubuntu 16.04 e jupyter é 4.3.0.
Método
Primeiro, eu desconectei o jupyter em sua página inicial no navegador (o botão de logout está no canto superior direito)
Em segundo lugar, digite em Ctrl + C
seu terminal e ele mostra:
[I 15: 59: 48.407 NotebookApp] interrompido Servindo notebooks do diretório local: / home / Username 0 kernels ativos
O Jupyter Notebook está sendo executado em: http: // localhost: 8888 /? Token = a572c743dfb73eee28538f9a181bf4d9ad412b19fbb96c82
Desligar este servidor de notebook (s / [n])?
Última etapa, digite em y
5 segundos e se mostrar:
[C 15: 59: 50.407 NotebookApp] Desligamento confirmado
[I 15: 59: 50.408 NotebookApp] Desligamento de kernels
Parabéns! Você fecha seu jupyter com sucesso.
Na verdade, eu acredito que há uma maneira mais limpa do que matar o (s) processo (s) usando o kill ou o gerenciador de tarefas.
No Painel do Notebook Jupyter (a interface do navegador que você vê ao iniciar o 'notebook jupyter' pela primeira vez), navegue até o local dos arquivos do notebook que você fechou no navegador, mas cujos kernels ainda podem estar em execução.
Os arquivos do iPython Notebook aparecem com um ícone de livro, mostrado em verde se tiver um kernel em execução ou cinza se o kernel não estiver em execução.
Basta selecionar a caixa de seleção ao lado do arquivo em execução e clicar no botão Desligar que aparece acima dele.
Isso desligará corretamente o kernel associado a esse bloco de notas específico.
Na sessão do navegador, você também pode acessar Kernel
e clicar em Restart and Clear Output
.
Estou copiando e colando da Documentação do Guia de início rápido do Jupyter / IPython Notebook, lançado em 13 de fevereiro de 2018. http://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/execute.html
1.3.3 Fechar um bloco de notas: desligamento do kernel Quando um bloco de notas é aberto, seu “mecanismo computacional” (chamado kernel) é iniciado automaticamente. Fechar a guia do navegador do notebook não desligará o kernel; em vez disso, o kernel continuará funcionando até que seja explicitamente desligado. Para desligar um kernel, vá ao bloco de notas associado e clique no menu Arquivo -> Fechar e parar. Alternativamente, o Notebook Dashboard tem uma guia chamada Running que mostra todos os notebooks em execução (ou seja, kernels) e permite desligá-los (clicando no botão Desligar).
Resumo: Primeiro feche e interrompa a execução dos notebooks.
1.3.2 Desligue o Jupyter Notebook App Fechar o navegador (ou a guia) não fecha o Jupyter Notebook App. Para encerrá-lo completamente, você precisa fechar o terminal associado. Em mais detalhes, o Jupyter Notebook App é um servidor que aparece em seu navegador em um endereço padrão ( http: // localhost: 8888 ). Fechar o navegador não encerrará o servidor. Você pode reabrir o endereço anterior e o aplicativo Jupyter Notebook será exibido novamente. Você pode executar muitas cópias do Jupyter Notebook App e elas aparecerão em um endereço semelhante (apenas o número após “:”, que é a porta, será incrementado a cada nova cópia). Uma vez que com um único Jupyter Notebook App você já pode abrir muitos notebooks, não recomendamos executar várias cópias do Jupyter Notebook App.
Resumo: Em segundo lugar, saia do terminal a partir do qual você disparou o Jupyter.
Etapa 1 - No shell, basta fazer control + z (control + c) Etapa 2 _ fechar o navegador da web
ps -ax
outop
. Assim, os kernels podem ser interrompidos seletivamente com [privilégio administrativo] para encerrar esse processo em particular: # kill PID-of-ki Isso não permite procedimentos internos de desligamento para o kernel, mas também não faz o tipo Ctl-C forçado ... Alguém sabe se isso está planejado para Jupyter?