Вышел IPython 8.0 — много улучшений и несколько новых фич
2026-02-21 11:05 Diff

Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.

Мажорное обновление IPython вносит много новых фич и изменений для консоли и ядра Jupyter. Ещё разработчики убрали обратную совместимость с предыдущими версиями Python, что даёт возможность сделать код более производительным.

Отслеживание ошибок стало удобнее. Раньше компилятор выводил хеш клетки, в которой произошла ошибка:

In [1]: def foo(): ...: return 3 / 0 ...: In [2]: foo() --------------------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last) <ipython-input-2-c19b6d9633cf> in <module> ----> 1 foo() <ipython-input-1-1595a74c32d5> in foo() 1 def foo(): ----> 2 return 3 / 0 3 ZeroDivisionError: division by zero

Теперь компилятор выводит отформатированную строку с номером клетки:

In [1]: def foo(): ...: return 3 / 0 ...: Input In [2]: foo() --------------------------------------------------------------------------- ZeroDivisionError Traceback (most recent call last) input In [2], in <module> ----> 1 foo() Input In [1], in foo() 1 def foo(): ----> 2 return 3 / 0 ZeroDivisionError: division by zero

Автодополнения позволяют пользователям быстрее набирать код с помощью сочетаний клавиш Ctrl + E, Ctrl + F или стрелки вправо.

Пример работы автодополнения. Изображение: официальная страница IPython

В IPDB с помощью ? и ?? можно показать информацию об объекте. Такую же функциональность добавили и в IPython:

ipdb> partial? Init signature: partial(self, /, *args, **kwargs) Docstring: partial(func, *args, **keywords) - new function with partial application of the given arguments and keywords. File: ~/.pyenv/versions/3.8.6/lib/python3.8/functools.py Type: type Subclasses:

Автоформатирование Black теперь доступно в CLI. Если пакет установлен в среду разработки, консоль IPython будет по умолчанию форматировать код. Его можно отключить с помощью следующей команды:

--TerminalInteractiveShell.autoformatter=None

Разработчики IPython убрали поддержку версий Python вплоть до 3.7, чтобы позволить программистам использовать более эффективный пакет Pathlib и сделать аннотации типов лучше.

Подробнее познакомиться со всеми изменениями в IPython можно на официальном сайте.


Бесплатный курс по Python ➞
Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу