Nonaktifkan Konfirmasi Keluar IPython

107

Benar-benar menjengkelkan bahwa setiap kali saya mengetik exit(), saya diminta dengan konfirmasi untuk keluar; tentu saja saya ingin keluar! Jika tidak, saya tidak akan menulis exit()!!!

Apakah ada cara untuk mengganti perilaku default IPython untuk membuatnya keluar tanpa prompt?

Naftuli Kay
sumber
2
Jika Anda ingin mengupgrade ke IPython 0.11, exitjangan minta konfirmasi. (Ctrl-d masih meminta, jika Anda menekannya secara tidak sengaja)
Thomas K

Jawaban:

126

Jika Anda juga ingin Ctrl-Dkeluar tanpa konfirmasi, di IPython 0.11, tambahkan c.TerminalInteractiveShell.confirm_exit = Falseke file konfigurasi * Anda.

Jika Anda belum memiliki file konfigurasi, jalankan ipython profile createuntuk membuatnya.

Catat tiket ini jika Anda bekerja di dalam shell Django.


* File konfigurasi terletak di: $HOME/.ipython/profile_default/ipython_config.py

tuomassalo
sumber
41

Di ipython versi 0.11 atau lebih tinggi,

  1. Jalankan dengan --no-confirm-exitOR
  2. Keluar melalui 'exit' alih-alih control-D ATAU
  3. Pastikan direktori tersebut ada (atau jalankan ipython profile createuntuk membuatnya) dan tambahkan baris ini ke $ HOME / .ipython / profile_default / ipython_config.py:

    c = get_config()
    
    c.TerminalInteractiveShell.confirm_exit = False
Ernest
sumber
~/.config/ipython/profile_default/ipython_config.pylebih disukai di Linux agar sesuai dengan freedesktop.org. Bekerja pada 1.2.1.
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
1
@CiroSantilli 烏坎 事件 2016 六四 事件 法轮功, dengan 3.2.1 bukan - versi ini bahkan dicetak usr/lib/python3.5/site-packages/IPython/utils/path.py:291: UserWarning: Ignoring ~/.config/ipython in favour of ~/.ipython.dan dalam kode We have decided to go back to using .ipython everywhere. Rupanya mereka mengubahnya di beberapa versi 1.x.
maxschlepzig
17

ketik saja Exit, dengan modal E.

Atau, mulai IPython dengan:

$ ipython -noconfirm_exit

Atau untuk versi IPython yang lebih baru:

$ ipython --no-confirm-exit 
nye17
sumber
22
@Brendan, untuk membuatnya permanen, Anda juga dapat mengaturnya di ipythonrcprofil Anda :confirm_exit 0
nye17
2
Bagus, atur itu dengan alias dan pekerjaan selesai. Tidak ada masalah tentang membuat profil atau mengubah konfigurasi.
Tom Busby
4

Saya suka saran konfigurasi, tetapi sampai saya mempelajarinya, saya sudah mulai menggunakan kombinasi tombol "Keluar".

Ctrl+\

atau

Ctrl+4

Ini hanya mematikan apa yang sedang berjalan. Tidak ada waktu untuk bertanya tentang konfirmasi.

Mikhail
sumber
8
ini bukan praktik yang baik, ini membuat kernel mengirim SIGQUITke ipython, tidak menyisakan kesempatan untuk proses ipython untuk membersihkan dirinya sendiri.
georgexsh