Désactiver la confirmation de sortie IPython

107

C'est vraiment énervant que chaque fois que je tape exit() , je reçois une confirmation pour quitter; bien sûr je veux sortir! Sinon, je n'aurais pas écrit exit()!!!

Existe-t-il un moyen de remplacer le comportement par défaut d'IPython pour le faire quitter sans invite?

Naftuli Kay
la source
2
Si vous souhaitez mettre à niveau vers IPython 0.11, exitne demande pas de confirmation. (Ctrl-d demande toujours, au cas où vous le frapperiez accidentellement)
Thomas K

Réponses:

126

Si vous souhaitez également Ctrl-Dquitter sans confirmation, dans IPython 0.11, ajoutez c.TerminalInteractiveShell.confirm_exit = Falseà votre fichier de configuration *.

Si vous n'avez pas encore de fichier de configuration, exécutez ipython profile createpour en créer un.

Notez ce ticket si vous travaillez dans le shell Django.


* Le fichier de configuration se trouve à: $HOME/.ipython/profile_default/ipython_config.py

Tuomassalo
la source
41

Dans ipython version 0.11 ou supérieure,

  1. Exécuter avec --no-confirm-exitOU
  2. Quitter via 'exit' au lieu de control-D OU
  3. Assurez-vous que le répertoire existe (ou exécutez ipython profile createpour le créer) et ajoutez ces lignes à $ HOME / .ipython / profile_default / ipython_config.py:

    c = get_config()
    
    c.TerminalInteractiveShell.confirm_exit = False
Ernest
la source
~/.config/ipython/profile_default/ipython_config.pyest préféré sous Linux pour correspondre à freedesktop.org. Fonctionne sur 1.2.1.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
1
@CiroSantilli 烏坎 事件 2016 六四 事件 法轮功, avec 3.2.1 ce n'est pas le cas - cette version imprime même usr/lib/python3.5/site-packages/IPython/utils/path.py:291: UserWarning: Ignoring ~/.config/ipython in favour of ~/.ipython.et dans le code We have decided to go back to using .ipython everywhere. Apparemment, ils l'ont changé dans une version 1.x.
maxschlepzig
17

tapez simplement Exit, avec du capital E.

Vous pouvez également démarrer IPython avec:

$ ipython -noconfirm_exit

Ou pour les nouvelles versions d'IPython:

$ ipython --no-confirm-exit 
nye17
la source
22
@Brendan, quant à le rendre permanent, vous pouvez également le configurer dans votre ipythonrcprofil:confirm_exit 0
nye17
2
Bien, définissez cela avec un alias et le travail est fait. Pas de problème pour créer des profils ou modifier la configuration.
Tom Busby
4

J'aime les suggestions de configuration, mais jusqu'à ce que je les apprenne, j'ai commencé à utiliser la combinaison de touches "Quitter".

Ctrl+\

ou

Ctrl+4

Cela tue simplement ce qui est en cours d'exécution. Pas le temps de poser des questions sur la confirmation.

Mikhail
la source
8
ce n'est pas une bonne pratique, cela make kernel send SIGQUITto ipython, laisse aucune chance au processus ipython de se nettoyer.
georgexsh