Установите для параметра InteractiveShell.ast_node_interactivity
значение 'all'
, либо с помощью магической команды %config
:
%config InteractiveShell.ast_node_interactivity='all'
или в вашем ipython_config.py
c.InteractiveShell.ast_node_interactivity = 'all'
Это заставит IPython скомпилировать все в режиме 'single'
, режиме, который вызывает sys.displayhook
, вместо режима 'exec'
, который не использует sys.displayhook
.
Возможные настройки для InteractiveShell.ast_node_interactivity
в настоящее время
'all'
: скомпилировать все в режиме 'single'
.
'last'
: скомпилировать последний (простой или составной) оператор ячейки в режиме 'single'
. Отличается от 'all'
в случаях типа
In [7]: for i in range(5):
...: i
...: for i in range(3):
...: i
...:
Out[7]: 0
Out[7]: 1
Out[7]: 2
'all'
напечатало бы значения i
из обоих циклов.
'last_expr'
: скомпилировать последний оператор ячейки в режиме 'single'
, если этот оператор является оператором выражения. Это IPython по умолчанию.
'none'
: скомпилировать все в режиме 'exec'
.
'last_expr_or_assign'
: аналогично 'last_expr'
, но выполняется дополнительное преобразование AST для печати назначенного значения, если последний оператор является оператором присваивания:
In [2]: xyz = "something else"
Out[2]: "something else"