Выпущен IPython 5.0-LTS


IPython 5-это первая версия, получившая долгосрочную поддержку (отсюда и название LTS). Он имеет значительное обновление интерфейса терминала с новыми средствами редактирования, которые предоставляются кросс-платформенной библиотекой.

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

Объявление о выпуске IPython 5.0 в блоге Jupyter объясняет появление улучшенного интерфейса как следствие обретенной независимости IPython:

Отделение IPython от пакета ноутбуков Jupyter позволило основной команде сосредоточиться на улучшении интерфейса командной строки независимо от ноутбука. Неудобные зависимости от pyreadline для Windows и gnureadline для Mac побудили Томаса Клюйвера заменить старое оборудование совершенно новой заменой строки чтения на python: prompt_toolkit.

Пакет prompt_toolkit, созданный Джонатаном Слендерсом, недавно достиг версии 1.0. Благодаря его использованию IPython теперь поддерживает: 

Подсветка синтаксиса при вводе текста

Реальное многострочное редактирование (клавиши со стрелками вверх и вниз перемещаются между строками)

Многострочная вставка без нарушения отступа или немедленного выполнения кода

Лучший интерфейс завершения кода 

Дополнительная поддержка мыши

В примечаниях серии 5.x говорится::

Капитальный ремонт интерфейса терминала, вероятно, вызовет ряд незначительных проблем для существующих пользователей. Это неизбежно для такого значительного изменения, и мы сделали все возможное, чтобы свести эти проблемы к минимуму.

Далее он вносит предложения по обработке изменений.

IPython также вводит следующие обратно несовместимые изменения:

Волшебная функция %install_ext, устаревшая с версии 4.0, теперь удалена. Вы можете распространять и устанавливать расширения в виде пакетов на PyPI.

Обратные вызовы, зарегистрированные во время обработки события, теперь будут вызываться только для последующих событий; ранее они могли быть вызваны для текущего события. Аналогично, обратные вызовы, удаленные при обработке события, всегда будут получать это событие. 

Интеграция с pydb была удалена, так как разработка pydb была остановлена с 2012 года, и pydb не может быть установлен из PyPI.

Опция autoedit_syntax, которая, по-видимому, была нарушена в течение многих лет, была удалена

Одна из причин, по которой IPython 5.x имеет долгосрочную поддержку, с исправлениями критических ошибок основной командой до конца 2017 года и после этого в ответ на запросы на вытягивание, заключается в том, что это последняя основная версия, поддерживающая Python 2.  Для IPython 6.x потребуется Python 3.

В связи с этим решением Маттиас Буссонье пишет:

Если вы являетесь пользователем Python 2, будьте уверены, мы позаботимся о том, чтобы обновление неожиданно не установило IPython 6.x и не сломало вашу систему. Вы можете принять решение остаться на более длительный период времени на IPython 5.x LTS и решить перепрыгнуть через несколько версий IPython после перехода на Python 3, хотя мы рекомендуем быть в курсе последних стабильных версий по мере их выпуска и, конечно, перейти на Python 3, когда это возможно.

IPython-это первый проект IPython/Jupyter, который отказался от поддержки Python 2, но вы можете ожидать, что за ним последуют другие компоненты IPython/Jupyter. С момента своего создания JupyterHub, например, как всегда, был только Python 3.

Важно отметить, что пользователи всегда смогут использовать ядро Python 2 с ноутбуком Jupyter, даже если все наши проекты перешли на Python 3: в рамках наших обязательств по LTS мы внесем любые необходимые обновления в ядро IPython, чтобы оно могло продолжать работать в ноутбуке Jupyter в течение всего срока нашей поддержки LTS.

Он также отмечает, что IPython подписал обязательство прекратить поддержку Python 2.7 не позднее 2020 года, чтобы совпасть с собственной целью команды разработчиков Python прекратить поддержку ветви Python 2.x. 


Добавить комментарий