Отключить подтверждение выхода из IPython

107

Действительно раздражает, что каждый раз, когда я печатаю exit(), мне предлагается выйти с подтверждением; конечно хочу выйти! Иначе я бы не написал exit()!!!

Есть ли способ переопределить поведение IPython по умолчанию, чтобы он выходил без приглашения?

Нафтули Кей
источник
2
Если вы хотите перейти на IPython 0.11, exitне запрашивает подтверждения. (Ctrl-d по-прежнему подсказывает, если вы случайно нажмете его)
Thomas K

Ответы:

126

Если вы также хотите Ctrl-Dвыйти без подтверждения, в IPython 0.11 добавьте c.TerminalInteractiveShell.confirm_exit = Falseв свой файл конфигурации *.

Если у вас еще нет файла конфигурации, запустите его, ipython profile createчтобы создать.

Обратите внимание на этот билет, если вы работаете в оболочке Django.


* Файл конфигурации находится по адресу: $HOME/.ipython/profile_default/ipython_config.py

Tuomassalo
источник
42

В ipython версии 0.11 или выше

  1. Выполнить с --no-confirm-exitИЛИ
  2. Выйти через exit вместо Ctrl-D ИЛИ
  3. Убедитесь, что каталог существует (или запустите его ipython profile createдля его создания), и добавьте эти строки в $ HOME / .ipython / profile_default / ipython_config.py:

    c = get_config()
    
    c.TerminalInteractiveShell.confirm_exit = False
Эрнест
источник
~/.config/ipython/profile_default/ipython_config.pyпредпочтительнее в Linux, чтобы соответствовать freedesktop.org. Работает на 1.2.1.
Чиро Сантилли 郝海东 冠状 病 六四 事件
1
@CiroSantilli 烏坎 事件 2016 六四 事件 法轮功, с 3.2.1 это не так - эта версия даже печатает usr/lib/python3.5/site-packages/IPython/utils/path.py:291: UserWarning: Ignoring ~/.config/ipython in favour of ~/.ipython.и в коде We have decided to go back to using .ipython everywhere. Видимо поменяли в какой-то версии 1.х.
maxschlepzig
re 1. alias ipython="ipython --no-confirm-exit --no-banner"стал моим предпочтительным способом запуска ipython
jwalton
17

просто введите Exit, с большой буквы E.

В качестве альтернативы запустите IPython с помощью:

$ ipython -noconfirm_exit

Или для более новых версий IPython:

$ ipython --no-confirm-exit 
nye17
источник
22
@Brendan, чтобы сделать его постоянным, вы также можете настроить его в своем ipythonrcпрофиле:confirm_exit 0
nye17
2
Отлично, установите псевдоним - и работа сделана. Никаких проблем с созданием профилей или изменением конфигурации.
Том Басби,
4

Мне нравятся предложения по настройке, но пока я их не изучил, я начал использовать комбинацию клавиш «Выйти».

Ctrl+\

или

Ctrl+4

Это просто убивает то, что работает. Некогда задавать вопросы о подтверждении.

Михаил
источник
8
это не очень хорошая практика, это заставляет ядро ​​отправлять SIGQUITна ipython, не оставляя возможности процессу ipython очистить себя.
georgexsh 08