Wyłącz potwierdzenie zakończenia IPython

107

To naprawdę irytujące, że za każdym razem, gdy piszę exit(), pojawia się monit o potwierdzenie zakończenia; oczywiście, że chcę wyjść! W przeciwnym razie nie napisałbym exit()!!!

Czy istnieje sposób na przesłonięcie domyślnego zachowania IPythona, aby zakończyć bez monitu?

Naftuli Kay
źródło
2
Jeśli chcesz zaktualizować do IPython 0.11, exitnie prosi o potwierdzenie. (Ctrl-d nadal podpowiada, na wypadek gdybyś uderzył go przypadkowo)
Thomas K

Odpowiedzi:

126

Jeśli chcesz również Ctrl-Dwyjść bez potwierdzenia, w IPython 0.11 dodaj c.TerminalInteractiveShell.confirm_exit = Falsedo pliku konfiguracyjnego *.

Jeśli nie masz jeszcze pliku konfiguracyjnego, uruchom go, ipython profile createaby go utworzyć.

Zwróć uwagę na ten bilet, jeśli pracujesz w powłoce Django.


* Plik konfiguracyjny znajduje się pod adresem: $HOME/.ipython/profile_default/ipython_config.py

tuomassalo
źródło
41

W ipythonie w wersji 0.11 lub nowszej,

  1. Uruchom z --no-confirm-exitOR
  2. Wyjdź przez 'exit' zamiast control-D LUB
  3. Upewnij się, że katalog istnieje (lub uruchom go, ipython profile createaby go utworzyć) i dodaj te wiersze do $ HOME / .ipython / profile_default / ipython_config.py:

    c = get_config()
    
    c.TerminalInteractiveShell.confirm_exit = False
Ernest
źródło
~/.config/ipython/profile_default/ipython_config.pyw Linuksie preferowane jest dopasowanie do freedesktop.org. Działa na 1.2.1.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
1
@CiroSantilli 烏坎 事件 2016 六四 事件 法轮功, z 3.2.1 tak nie jest - ta wersja nawet drukuje usr/lib/python3.5/site-packages/IPython/utils/path.py:291: UserWarning: Ignoring ~/.config/ipython in favour of ~/.ipython.i w kodzie We have decided to go back to using .ipython everywhere. Najwyraźniej zmienili to w jakiejś wersji 1.x.
maxschlepzig
17

po prostu wpisz Exitwielką literę E.

Alternatywnie, uruchom IPython od:

$ ipython -noconfirm_exit

Lub dla nowszych wersji IPython:

$ ipython --no-confirm-exit 
nye17
źródło
22
@Brendan, jeśli chodzi o uczynienie go trwałym, możesz go również ustawić w swoim ipythonrcprofilu:confirm_exit 0
nye17
2
Świetnie, ustaw to z aliasem i wykonaną pracą. Bez kłopotów z tworzeniem profili lub zmianą konfiguracji.
Tom Busby,
4

Podoba mi się sugestie dotyczące konfiguracji, ale dopóki się ich nie nauczyłem, zacząłem używać kombinacji klawiszy „Zamknij”.

Ctrl+\

lub

Ctrl+4

To po prostu zabija to, co działa. Nie ma czasu na zadawanie pytań przy potwierdzaniu.

Michaił
źródło
8
to nie jest dobra praktyka, to sprawia, że ​​jądro jest wysyłane SIGQUITdo ipython, nie pozostawiając żadnej szansy na oczyszczenie się procesu ipython.
georgexsh