pythonipythonexitinterpreter

How to exit IPython


I like IPython a lot for working with the python interpreter. However, I continually find myself typing exit to exit, and get prompted "Type exit() to exit."

I know I can type Ctrl-D to exit, but is there a way I can type exit without parentheses and get IPython to exit?

Update: Thanks to nosklo, this can be easily done by adding the following line to the main() function in your ipy_user_conf.py:

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

Solution

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

    You can use it like this:

    >>> exit
    

    EDIT:

    I dont use ipython myself, but it seems to have some wierd sys.exit handler. The solution I found is as follows:

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

    Usage:

    In [2]: exit