Как отобразить полный вывод в Jupyter, а не только последний результат?

Я хочу, чтобы Jupyter печатал весь интерактивный вывод, не прибегая к печати, а не только к последнему результату. Как это сделать?

Пример:

a=3
a
a+1

Я хотел бы показать

3
4

5 ответов

Решение

Спасибо Томасу, вот решение, которое я искал:

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/

1) Поместите этот код в ячейку Jupyter:

from IPython.core.interactiveshell import InteractiveShell

InteractiveShell.ast_node_interactivity = "all"

2) В Windows следующие шаги делают изменение постоянным. Должно работать для других операционных систем. Возможно, вам придется изменить путь.

C:\Users\your_profile\\.ipython\profile_default

Создайте файл ipython_config.py в profile_defaults со следующим кодом:

c = get_config()

c.InteractiveShell.ast_node_interactivity = "all"

На основе ноутбука

Как ответили другие, размещение следующего кода в ячейке Jupyter Lab или Jupyter Notebook будет работать:

from IPython.core.interactiveshell import InteractiveShell

InteractiveShell.ast_node_interactivity = "all"

Постоянное изменение

Однако, если вы хотите сделать это постоянным и использовать Jupyter Lab, вам нужно будет создать файл конфигурации записной книжки IPython. Для этого выполните следующую команду (НЕ запускайте, если вы используете Jupyter Notebook - подробности ниже):

ipython profile create

Если вы используете Jupyter Notebook, этот файл уже должен быть создан, и нет необходимости запускать его снова. Фактически, выполнение этой команды может перезаписать ваши текущие настройки.

Создав этот файл, как для пользователей Jupyter Lab, так и для пользователей Notebook, добавьте в файл следующий код C:\Users\USERNAME\\.ipython\profile_default\ipython_config.py:

c.InteractiveShell.ast_node_interactivity = "all"

Я обнаружил, что в этом нет необходимости c = get_config() в более новых версиях Jupyter, но если это не работает для вас, добавьте c = get_config() в начало файла.

Для дополнительных опций флага, кроме "all"перейдите по этой ссылке:https://ipython.readthedocs.io/en/stable/config/options/terminal.html

мы можем добавить метод отображения перед каждым оператором, который необходимо отобразить.

Вы должны либо распечатать его, либо отобразить его из разных ячеек, либо отобразить его из одной и той же строки - Jupyter отобразит последний результат

a=3
a
out[1]: 3
(other cell)
a+1
out[2]: 4

или же:

a=3
print(a)
print(a+1)
out[3]: 3
4

или же:

a=3
a, a+1
out[4]: (3, 4)
Другие вопросы по тегам