Deaktivieren Sie die IPython-Beendigungsbestätigung

107

Es ist wirklich irritierend, dass ich jedes Mal, wenn ich tippe exit(), mit einer Bestätigung zum Beenden aufgefordert werde. natürlich will ich raus! Sonst hätte ich nicht geschrieben exit()!!!

Gibt es eine Möglichkeit, das Standardverhalten von IPython zu überschreiben, damit es ohne Eingabeaufforderung beendet wird?

Naftuli Kay
quelle
2
Wenn Sie ein Upgrade auf IPython 0.11 durchführen möchten, exitbitten Sie nicht um Bestätigung. (Strg-d fordert immer noch auf, falls Sie es versehentlich treffen)
Thomas K

Antworten:

126

Wenn Sie auch Ctrl-Dohne Bestätigung beenden möchten , fügen c.TerminalInteractiveShell.confirm_exit = FalseSie in IPython 0.11 Ihrer Konfigurationsdatei * hinzu.

Wenn Sie noch keine Konfigurationsdatei haben, führen Sie diese aus ipython profile create, um eine zu erstellen.

Beachten Sie dieses Ticket, wenn Sie in der Django-Shell arbeiten.


* Die Konfigurationsdatei befindet sich unter: $HOME/.ipython/profile_default/ipython_config.py

Tuomassalo
quelle
41

In ipython Version 0.11 oder höher

  1. Mit --no-confirm-exitODER ausführen
  2. Beenden Sie über 'exit' anstelle von control-D OR
  3. ipython profile createStellen Sie sicher, dass das Verzeichnis vorhanden ist (oder führen Sie es aus , um es zu erstellen), und fügen Sie diese Zeilen zu $ ​​HOME / .ipython / profile_default / ipython_config.py hinzu:

    c = get_config()
    
    c.TerminalInteractiveShell.confirm_exit = False
Ernest
quelle
~/.config/ipython/profile_default/ipython_config.pywird unter Linux bevorzugt, um mit freedesktop.org übereinzustimmen. Funktioniert am 1.2.1.
Ciro Santilli 法轮功 冠状 病 六四 事件 8
1
@CiroSantilli 事件 事件 2016 六四 事件 法轮功, mit 3.2.1 ist es nicht - diese Version druckt sogar usr/lib/python3.5/site-packages/IPython/utils/path.py:291: UserWarning: Ignoring ~/.config/ipython in favour of ~/.ipython.und im Code We have decided to go back to using .ipython everywhere. Anscheinend haben sie es in einer 1.x-Version geändert.
Maxschlepzig
17

Geben Sie einfach Exitmit Kapital ein E.

Alternativ können Sie IPython starten mit:

$ ipython -noconfirm_exit

Oder für neuere Versionen von IPython:

$ ipython --no-confirm-exit 
nye17
quelle
22
@Brendan, um es dauerhaft zu machen, können Sie es auch in Ihrem ipythonrcProfil confirm_exit 0
einrichten
2
Schön, setzen Sie das mit einem Alias ​​und erledigen Sie Ihre Arbeit. Kein Durcheinander beim Erstellen von Profilen oder Ändern der Konfiguration.
Tom Busby
4

Ich mag die Konfigurationsvorschläge, aber bis ich sie gelernt habe, habe ich angefangen, die Tastenkombination "Beenden" zu verwenden.

Ctrl+\

oder

Ctrl+4

Dies tötet nur, was läuft. Keine Zeit, Fragen zur Bestätigung zu stellen.

Mikhail
quelle
8
Dies ist keine gute Vorgehensweise. SIGQUITDadurch wird der Kernel an ipython gesendet, und der ipython-Prozess hat keine Chance, sich selbst zu bereinigen.
Georgexsh