Desactivar la confirmación de salida de IPython

107

Es realmente irritante que cada vez que escribo exit(), se me solicite una confirmación para salir; por supuesto que quiero salir! De lo contrario, no hubiera escrito exit()!!!

¿Hay alguna forma de anular el comportamiento predeterminado de IPython para que salga sin un aviso?

Naftuli Kay
fuente
2
Si desea actualizar a IPython 0.11, exitno solicita confirmación. (Ctrl-d todavía lo indica, en caso de que lo presione accidentalmente)
Thomas K

Respuestas:

126

Si también desea Ctrl-Dsalir sin confirmación, en IPython 0.11, agregue c.TerminalInteractiveShell.confirm_exit = Falsea su archivo de configuración *.

Si aún no tiene un archivo de configuración, ejecute ipython profile createpara crear uno.

Tenga en cuenta este ticket si está trabajando dentro del shell de Django.


* El archivo de configuración se encuentra en: $HOME/.ipython/profile_default/ipython_config.py

tuomassalo
fuente
41

En ipython versión 0.11 o superior,

  1. Ejecutar con --no-confirm-exitOR
  2. Salir a través de 'salir' en lugar de control-D O
  3. Asegúrese de que el directorio exista (o ejecute ipython profile createpara crearlo) y agregue estas líneas a $ HOME / .ipython / profile_default / ipython_config.py:

    c = get_config()
    
    c.TerminalInteractiveShell.confirm_exit = False
Ernesto
fuente
~/.config/ipython/profile_default/ipython_config.pyse prefiere en Linux para coincidir con freedesktop.org. Funciona en 1.2.1.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
1
@CiroSantilli 烏坎 事件 2016 六四 事件 法轮功, con 3.2.1 no lo es; esta versión incluso se imprime usr/lib/python3.5/site-packages/IPython/utils/path.py:291: UserWarning: Ignoring ~/.config/ipython in favour of ~/.ipython.y en el código We have decided to go back to using .ipython everywhere. Aparentemente lo cambiaron en alguna versión 1.x.
maxschlepzig
17

simplemente escriba Exit, con mayúscula E.

Alternativamente, inicie IPython con:

$ ipython -noconfirm_exit

O para versiones más nuevas de IPython:

$ ipython --no-confirm-exit 
nye17
fuente
22
@Brendan, en cuanto a lo que es permanente, también puede configurarlo en su ipythonrcperfil:confirm_exit 0
nye17
2
Bien, configúrelo con un alias y trabajo hecho. No se preocupe por crear perfiles o cambiar la configuración.
Tom Busby
4

Me gustan las sugerencias de configuración, pero hasta que las aprendí, comencé a usar la combinación de teclas "Salir".

Ctrl+\

o

Ctrl+4

Esto simplemente mata lo que se está ejecutando. No hay tiempo para hacer preguntas sobre la confirmación.

Mikhail
fuente
8
esta no es una buena práctica, esto hace que el kernel se envíe SIGQUITa ipython, no deja ninguna posibilidad de que el proceso de ipython se limpie por sí mismo.
georgexsh