Desativar confirmação de saída IPython

107

É realmente irritante que, toda vez que digito exit(), recebo uma confirmação para sair; claro que quero sair! Caso contrário, eu não teria escrito exit()!!!

Existe uma maneira de substituir o comportamento padrão do IPython para fazê-lo sair sem um prompt?

Naftuli Kay
fonte
2
Se você deseja atualizar para o IPython 0.11, exitnão peça confirmação. (Ctrl-d ainda solicita, caso você acerte acidentalmente)
Thomas K

Respostas:

126

Se você também deseja Ctrl-Dsair sem confirmação, no IPython 0.11, adicione c.TerminalInteractiveShell.confirm_exit = Falseao seu arquivo de configuração *.

Se você ainda não tem um arquivo de configuração, execute ipython profile createpara criar um.

Observe este tíquete se você estiver trabalhando no shell do Django.


* O arquivo de configuração está localizado em: $HOME/.ipython/profile_default/ipython_config.py

tuomassalo
fonte
41

No ipython versão 0.11 ou superior,

  1. Executar com --no-confirm-exitOU
  2. Saia por 'sair' em vez de control-D OU
  3. Certifique-se de que o diretório exista (ou execute ipython profile createpara criá-lo) e adicione essas linhas a $ HOME / .ipython / profile_default / ipython_config.py:

    c = get_config()
    
    c.TerminalInteractiveShell.confirm_exit = False
Ernest
fonte
~/.config/ipython/profile_default/ipython_config.pyé preferido no Linux para corresponder a freedesktop.org. Funciona em 1.2.1.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
1
@CiroSantilli 烏坎 事件 2016 六四 事件 法轮功, com 3.2.1 não é - esta versão até imprime usr/lib/python3.5/site-packages/IPython/utils/path.py:291: UserWarning: Ignoring ~/.config/ipython in favour of ~/.ipython.e no código We have decided to go back to using .ipython everywhere. Aparentemente, eles mudaram em alguma versão 1.x.
maxschlepzig de
17

basta digitar Exit, com maiúsculas E.

Como alternativa, inicie o IPython com:

$ ipython -noconfirm_exit

Ou para versões mais recentes de IPython:

$ ipython --no-confirm-exit 
nye17
fonte
22
@Brendan, para torná-lo permanente, você também pode configurá-lo em seu ipythonrcperfil:confirm_exit 0
nye17
2
Bom, defina isso com um alias e trabalho feito. Não se preocupe em criar perfis ou alterar a configuração.
Tom Busby,
4

Gosto das sugestões de configuração, mas até aprendê-las, comecei a usar a combinação de teclas "Sair".

Ctrl+\

ou

Ctrl+4

Isso apenas mata o que está em execução. Não há tempo para fazer perguntas sobre a confirmação.

Mikhail
fonte
8
esta não é uma boa prática, isso faz com que o kernel seja enviado SIGQUITpara ipython, não deixando nenhuma chance para o processo ipython se limpar.
georgexsh