IPython 6 Выпустила поддержку Python 3.3 и выше


IPython 6.0 был выпущен и, как и ожидалось, прекращает поддержку ветви Python 2.7. Хотя не все обязательно согласятся, это долгожданный шаг, который улучшает IPython.

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

Когда IPython 5.0 был выпущен год назад, это был долгосрочный релиз (LTS) с явным намерением, что IPython 6.0 и последующие версии будут поддерживать Python 3.3 и выше, и новые функции в Python 6.x не будут перенесены обратно.

В анонсе нового релиза в блоге Juypiter Маттиас Буссонье пишет::

Размер кодовой базы IPython уменьшился примерно на 1500 строк кода Python по сравнению с последним выпуском. Конечно, это связано не только с удалением поддержки Python 2, но и с незначительным количеством. И это сокращение еще более примечательно в свете совершенно новых функций, которые потребовали добавления сотен строк кода. Большое количество условных обозначений исчезло, что делает код более простым, легким для чтения и простым в обслуживании. Во всей кодовой базе мы увидели улучшения в компактности кода только за счет удаления служебных функций, которые существовали только для обеспечения идентичного поведения в Python 2 и Python 3. Даже в этом случае части кодовой базы остаются затронутыми “кодом Python 2”, поэтому потенциальные выгоды еще больше. Мы продолжим наши поиски по удалению вещей по ходу дела, и, как обычно, вклад приветствуется.

Состояние What’s new in I Python Release notes:

Удаление слоя прокладок Python2/Python3 сделало код более понятным и идиоматичным в ряде мест, а также гораздо более удобным для работы и понимания. Мы надеемся еще больше расширить возможности Python 3 в следующем цикле выпуска и ввести больше идиом Python 3 only (выход из, только для кварга, общая распаковка) в кодовую базу IPython, и посмотрим, сможем ли мы воспользоваться ими, чтобы улучшить пользовательский опыт с помощью лучших сообщений об ошибках и подсказок.

Новая функция, выделенная в объявлении о выпуске, — это интеграция с Jedi, пакет, который описывается как: 

потрясающая библиотека автозаполнения/статического анализа для Python

Его роль в IPython заключается в предоставлении завершений с использованием статического анализа и отображении типов завершения:

По словам Буссонье:

Это обеспечит основу для более богатого опыта завершения вкладок (например, это позволяет извлекать и отображать сигнатуры функций в завершителе). На данный момент эти функции доступны только для пользователей командной строки, но в IPykernel и в различных интерфейсах (например, nteract) ведется работа по использованию этих функций.

Если вы обновляете IPython — либо в ветке Python 2.x, либо в ветке Python 3.3+, — сначала убедитесь, что у вас есть обновленная версия pip, в частности pip 9.0.1 или более поздней версии. Это позволит определить версию Python, которую вы используете, и установить последнюю совместимую версию IPython — IPython 5.x, если вы используете Python 2, и IPython 6.x, если вы используете Python 3.

Несмотря на то, что вы все еще можете использовать IPython в ветке Python 2.x, мы надеемся, что новые функции и улучшенная производительность IPython 6 помогут тем, кто цепляется за старые версии Python, обновиться до последней версии.


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