IPython
![]() | |
![]() IPython-оболочка | |
Оригинальный автор(ы) | Фернандо Перес [1] |
---|---|
Разработчик(и) | Брайан Э. Грейнджер, Мин Рэган-Келли, Пол Иванов, Томас Клюйвер, Маттиас Бюссонье |
Первоначальный выпуск | 2001 год [1] |
Стабильная версия | 8.25.0 [2] ![]() |
Репозиторий | |
Написано в | Python , JavaScript , CSS , HTML |
Операционная система | Кросс-платформенный |
Тип | Оболочка |
Лицензия | БСД |
Веб-сайт | питон ![]() |
IPython (Интерактивный Python) — это командная оболочка для интерактивных вычислений на нескольких языках программирования, изначально разработанная для языка программирования Python , которая предлагает самоанализ , мультимедийные возможности , синтаксис оболочки, завершение табуляции и историю. IPython предоставляет следующие возможности:
- Интерактивные оболочки (терминальные и на базе Qt ).
- Браузерный интерфейс блокнота с поддержкой кода, текста, математических выражений, встроенных графиков и других медиафайлов.
- Поддержка интерактивной визуализации данных и использования наборов инструментов графического интерфейса.
- Гибкие встраиваемые интерпретаторы для загрузки в собственные проекты.
- Инструменты для параллельных вычислений .
IPython — это NumFOCUS . проект, финансируемый [3]
Параллельные вычисления [ править ]

IPython основан на архитектуре, обеспечивающей параллельные и распределенные вычисления. IPython позволяет разрабатывать, выполнять, отлаживать и отслеживать параллельные приложения в интерактивном режиме, отсюда и I (интерактивный) в IPython. [4] Эта архитектура абстрагирует параллелизм, позволяя IPython поддерживать множество различных стилей параллелизма. [5] включая:
- одной программы и нескольких данных ( SPMD ) Параллелизм
- нескольких программ и нескольких данных ( MPMD ) Параллелизм
- Передача сообщений с использованием MPI
- Параллелизм задач
- Параллелизм данных
- Комбинации этих подходов
- Пользовательские подходы, определяемые пользователем
С выпуском IPython 4.0 возможности параллельных вычислений стали необязательными и выпущены в пакете ipyparallel python. А большая часть возможностей ipyparallel теперь покрыта более зрелыми библиотеками, такими как Dask .
IPython часто использует стек SciPy. [6] библиотеки, такие как NumPy и SciPy , часто устанавливаемые вместе с одним из многих дистрибутивов Scientific Python. [6] IPython обеспечивает интеграцию с некоторыми библиотеками стека SciPy , в частности с matplotlib , создавая встроенные графики при использовании с блокнотом Jupyter . Библиотеки Python могут реализовывать специальные перехватчики IPython для настройки расширенного отображения объектов. SymPy Например, реализует рендеринг математических выражений в виде LaTeX при использовании в контексте IPython, а кадр данных Pandas использует HTML-представление. [7]
Другие особенности [ править ]
IPython позволяет неблокирующее взаимодействие с Tkinter , PyGTK , PyQt / PySide и wxPython (стандартная оболочка Python допускает взаимодействие только с Tkinter). IPython может интерактивно управлять кластерами параллельных вычислений, используя асинхронные обратные вызовы состояния и/или MPI . IPython также можно использовать в качестве замены системной оболочки. [8] Его поведение по умолчанию во многом похоже на оболочки Unix , но оно допускает настройку и гибкость выполнения кода в живой среде Python.
Окончание поддержки Python 2 [ править ]
Серия IPython 5.x (длительная поддержка) — это последняя версия IPython, поддерживающая Python 2. Проект IPython обязался не поддерживать Python 2 после 2020 года. [9] Будучи одним из первых проектов, присоединившихся к заявлению Python 3 , серия 6.x совместима только с Python 3 и выше. Тем не менее, по-прежнему возможно запускать ядро IPython и сервер Jupyter Notebook на разных версиях Python, позволяя пользователям по-прежнему получать доступ к Python 2 в более новой версии Jupyter.
Проект Jupyter [ править ]
Этот раздел может чрезмерно полагаться на источники, слишком тесно связанные с предметом , что может помешать статье стать проверяемой и нейтральной . ( Октябрь 2016 г. ) |

В 2014 году создатель IPython Фернандо Перес анонсировал дополнительный проект IPython под названием Project Jupyter . [10] IPython продолжал существовать как оболочка и ядро Python для Jupyter, но интерфейс записной книжки и другие языко-независимые части IPython были перенесены под имя Jupyter. [11] [12] поддерживаемым Jupyter, а именно Julia , Python и R. Jupyter не зависит от языка, и его название является отсылкой к основным языкам программирования , [13]
Jupyter Notebook (ранее IPython Notebook) — это интерактивная веб- среда вычислений для создания, выполнения и визуализации блокнотов Jupyter. Он похож на интерфейс записной книжки других программ, таких как Maple , Mathematica и SageMath , стиль вычислительного интерфейса, возникший в Mathematica в 1980-х годах. [14] Он поддерживает среды выполнения (также известные как ядра) на десятках языков. По умолчанию Jupyter Notebook поставляется с ядром IPython, но по состоянию на май 2018 года существует более 100 ядер Jupyter.
В СМИ [ править ]
IPython упоминался в популярной компьютерной прессе и других популярных средствах массовой информации. [15] [14] и он присутствует на научных конференциях. [16] Для научной и инженерной работы его часто представляют как сопутствующий инструмент matplotlib . [17]
Гранты и награды [ править ]
Начиная с 1 января 2013 года Фонд Альфреда П. Слоана объявил, что будет поддерживать разработку IPython в течение двух лет. [18]
23 марта 2013 года Фернандо Перес был удостоен награды Фонда свободного программного обеспечения за развитие свободного программного обеспечения за IPython.
В августе 2013 года Microsoft пожертвовала 100 000 долларов на финансирование дальнейшего развития IPython. [19]
В январе 2014 года он получил премию Jolt Productivity Award. [20] от доктора Добба в категории инструментов кодирования. В июле 2015 года проект получил финансирование в размере 6 миллионов долларов от Фонда Гордона и Бетти Мур, Фонда Альфреда П. Слоана и Благотворительного фонда Леоны М. и Гарри Б. Хелмсли. [21]
В мае 2018 года он был удостоен награды ACM Software System Award 2017. [22] Это самая крупная команда, получившая эту награду. [23]
См. также [ править ]
Ссылки [ править ]
- ^ Jump up to: Перейти обратно: а б «Блокнот IPython: историческая ретроспектива» . Блог Фернандо Переса. 8 января 2012 г.
- ^ «ipython 8.25.0» .
- ^ «Проекты, спонсируемые NumFOCUS» . NumFOCUS . Проверено 25 октября 2021 г.
- ^ Хелен, Шен (2014). «Интерактивные блокноты: делимся кодом» . Природа . 515 (7525): 151–152. Бибкод : 2014Natur.515..151S . дои : 10.1038/515151a . ПМИД 25373681 .
- ^ «Использование IPython для параллельных вычислений — документация IPython» .
- ^ Jump up to: Перейти обратно: а б «Стек SciPy» .
- ^ «Печать — документация SymPy 1.1» . docs.sympy.org . Проверено 11 апреля 2018 г.
- ^ МакКинни, Уэс (2012). «Глава 3» . Python для анализа данных . ISBN 978-1-449-31979-3 .
- ^ «Выпуск IPython 5.0 — блог Jupyter» . Блог Юпитера . 8 июля 2016 года . Проверено 11 апреля 2018 г.
- ^ «Проект Jupyter // Колонка динамиков» .
- ^ «Notebook, консоль Qt и ряд других частей теперь являются частями Jupyter» . Гитхаб . 17 октября 2021 г.
- ^ «Большой раскол™» . 28 августа 2017 г.
- ^ «Логотип Jupyter · Jupyter/Design Wiki» . Гитхаб .
- ^ Jump up to: Перейти обратно: а б Сомерс, Джеймс. «Научная статья устарела» . Атлантика . Проверено 10 апреля 2018 г.
- ^ Козиол, Конрад (12 сентября 2005 г.). «Знакомство с IPython» . НовостиФордж. Архивировано из оригинала 7 июня 2012 года . Проверено 14 июня 2012 г.
- ^ «IPython-презентации» .
- ^ Перес, Фернандо; Грейнджер, Брайан Э. (2007). «IPython: система интерактивных научных вычислений» (PDF) . Вычисления в науке и технике . 9 (3): 21–29. Бибкод : 2007CSE.....9c..21P . дои : 10.1109/MCSE.2007.53 . S2CID 16637923 . Архивировано из оригинала (PDF) 2 июня 2010 года . Проверено 30 июля 2015 г.
- ^ «Объявление в списке рассылки scipy» . Архивировано из оригинала 5 марта 2016 года . Проверено 12 декабря 2012 г.
- ^ «Анонс IPython» .
- ^ «Рецензия на премию Jolt Productivity Award в журнале Dr. Dobb's» .
- ^ «6 миллионов долларов для Калифорнийского университета в Беркли и Калифорнийского политехнического института на расширение и улучшение программного обеспечения с открытым исходным кодом для научных вычислений и обработки данных» . Проверено 13 августа 2015 г.
- ^ «Последние новости о премии Software System» .
- ^ «Jupyter получает награду ACM Software System Award» .