Выход из ipython

Мне нравится IPython для работы с интерпретатором python. Тем не менее, я постоянно нахожу, что набираю exit для выхода и получаю запрос "Тип exit() для выхода".

Я знаю, что могу набрать Ctrl-D для выхода, но есть ли способ, которым я могу набрать exit без круглых скобок и получить IPython для выхода?

Обновить. Благодаря nosklo это можно легко сделать, добавив следующую строку в функцию main() в вашем ipy_user_conf.py:

# type exit to exit
ip.ex("type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_now', True) or ''") 

Ответ 1

>>> import sys
>>> class Quitter(object):
...     def __repr__(self):
...         sys.exit()
... 
>>> exit = Quitter()

Вы можете использовать его следующим образом:

>>> exit

EDIT:

Я не использую ipython сам, но, похоже, имеет некоторый wierd sys.exit обработчик. Решение, которое я нашел, выглядит следующим образом:

In [1]: type(exit).__repr__ = lambda s: setattr(s.shell, 'exit_now', True) or ''

Использование:

In [2]: exit

Ответ 2

%exit или %exit, если у вас есть подтверждение, и вы хотите пропустить его. Вы можете использовать его, например, %e, поместив execute __IPYTHON__.magic_e = __IPYTHON__.magic_exit в ваш ipythonrc.

Ответ 3

С iPython 6.2.1 вы можете просто ввести exit для выхода из интерпретатора:

$ ipython
Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.
In [1]: exit
$ 

Ответ 4

По крайней мере, в IPython 0.10 вы должны установить IPYTHON.rc.confirm_exit = False

Ответ 5

В Linux я постоянно использую ctrl-d для выхода из любого интерфейса REPL, включая ipython. Почти всегда нужно вводить/выходить из системы.