IPython - IPython
![]() | |
![]() IPython Shell | |
Původní autoři | Fernando Perez[1] |
---|---|
Vývojáři | Brian E. Granger, Min Ragan-Kelley, Paul Ivanov, Thomas Kluyver, Matthias Bussonnier |
První vydání | 2001[1] |
Stabilní uvolnění | 7.19.0 / 31. října 2020[2] |
Úložiště | ![]() |
Napsáno | Krajta, JavaScript, CSS, HTML |
Operační systém | Cross-platform |
Typ | Shell |
Licence | BSD |
webová stránka | ipython![]() |
IPython (Interactive Python) je a příkazový shell pro interaktivní výpočetní techniku ve více programovacích jazycích, původně vyvinutou pro Programovací jazyk Python, který nabízí introspekce, rich media, syntaxe prostředí, dokončení karty a historie. IPython poskytuje následující funkce:
- Interaktivní skořápky (terminál a Qt -na základě).
- Na základě prohlížeče rozhraní notebooku s podporou kódu, textu, matematických výrazů, vložených grafů a dalších médií.
- Podpora interaktivní vizualizace dat a použití sad nástrojů GUI.
- Flexibilní, integrovatelní tlumočníci, kteří se mohou načíst do vlastních projektů.
- Nástroje pro paralelní výpočty.
Paralelní výpočty

IPython je založen na architektuře, která poskytuje paralelní a distribuované výpočty. IPython umožňuje interaktivně vyvíjet, spouštět, ladit a monitorovat paralelní aplikace, proto I (Interactive) v IPythonu.[3] Tato architektura abstrahuje paralelismus a umožňuje IPythonu podporovat mnoho různých stylů paralelismu[4] počítaje v to:
- Jeden program, více dat (SPMD ) paralelismus
- Více programů, více dat (MPMD ) paralelismus
- Předávání zpráv pomocí MPI
- Paralelnost úkolů
- Datový paralelismus
- Kombinace těchto přístupů
- Vlastní uživatelsky definované přístupy
S vydáním protokolu IPython 4.0 byly možnosti paralelního výpočtu volitelné a uvolněny pod ipyparallel balíček python. A většina schopností ipyparallel je nyní pokryta zralejšími knihovnami jako Dask.
IPython často čerpá ze zásobníku SciPy[5] knihovny jako NumPy a SciPy, často instalován společně s jednou z mnoha distribucí Scientific Python.[5] IPython poskytuje integraci s některými knihovnami SciPy stack, zejména matplotlib, při použití s notebookem Jupyter vytvářejí vložené grafy. Knihovny Pythonu mohou implementovat specifické háčky IPython pro přizpůsobení zobrazení bohatých objektů. SymPy například implementuje vykreslování matematických výrazů jako vykreslení Latex při použití v kontextu IPython a Pandy datový rámec používá HTML reprezentaci.[6]
Další funkce
IPython umožňuje neblokující interakci s Tkinter, PyGTK, PyQt /PySide a wxPython (standardní prostředí Pythonu umožňuje interakci pouze s Tkinter). IPython může interaktivně spravovat paralelně výpočetní klastry pomocí asynchronních zpětných volání stavu a / nebo MPI. IPython lze také použít jako náhradu za systémové prostředí.[7] Jeho výchozí chování je do značné míry podobné Unix skořápky, ale umožňuje přizpůsobení a flexibilitu provádění kódu v živém prostředí Pythonu. Použití IPythonu jako náhrady shellu je méně časté a nyní se doporučuje používat Xonsh, který poskytuje většinu funkcí IPythonu s lepší integrací shellu.
Konec podpory Pythonu 2
Série IPython 5.x (Long Time Support) je poslední verzí IPythonu pro podporu Pythonu 2. Projekt IPython se zavázal, že nebude podporovat Python 2 po roce 2020[8] tím, že je jedním z prvních projektů, které se připojily k Prohlášení o Pythonu 3, řada 6.x je kompatibilní pouze s Pythonem 3 a vyšším. Je stále možné spustit jádro IPython a server Jupyter Notebook na různých verzích Pythonu, což uživatelům umožňuje stále přistupovat k Pythonu 2 na novější verzi Jupyteru.
Projekt Jupyter
![]() | Tato sekce se mohou příliš spoléhat na zdroje příliš úzce souvisí s tématem, což potenciálně brání tomu, aby článek byl ověřitelný a neutrální.Říjen 2016) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |

V roce 2014 Fernando Pérez oznámil spin-off projekt od IPython s názvem Projekt Jupyter.[9] IPython nadále existoval jako prostředí Python a jádro pro Jupyter, ale notebook rozhraní a další jazykově agnostické části IPythonu byly přesunuty pod názvem Jupyter.[10][11] Jupyter je jazykově agnostický a jeho název odkazuje na základní programovací jazyky podporované Jupyterem, které jsou Julie, Krajta, a R.[12]
Jupyter Notebook (dříve IPython Notebooks) je webový interaktivní výpočetní prostředí pro vytváření, provádění a vizualizaci notebooků Jupyter. Je to podobné jako rozhraní notebooku jiných programů, jako je Javor, Mathematica, a SageMath, styl výpočetního rozhraní, který vznikl v Mathematice v 80. letech.[13] Podporuje prováděcí prostředí (aka jádra) v desítkách jazyků. Ve výchozím nastavení je notebook Jupyter dodáván s jádrem IPython, ale od května 2018 existuje více než 100 jader Jupyter.
V médiích
IPython byl zmíněn v populárním počítačovém tisku a dalších populárních médiích,[14][13] a je přítomna na vědeckých konferencích.[15] Pro vědecké a inženýrské práce je často prezentován jako doprovodný nástroj matplotlib.[16]
Granty a ocenění
Od 1. Ledna 2013 Alfred P. Sloan Foundation oznámila, že bude podporovat vývoj IPython na dva roky.[17]
Dne 23. března 2013 Fernando Perez byl oceněn Free Software Foundation Ocenění Free Software pro IPython.
V srpnu 2013 Microsoft přispěl 100 000 USD na sponzorování dalšího vývoje IPython.[18]
V lednu 2014 získala Cena za nárazovou produktivitu[19] z Dr. Dobb v kategorii kódovacích nástrojů. V červenci 2015 získal projekt financování ve výši 6 milionů USD od Gordon a Betty Moore Foundation, Alfred P. Sloan Foundation a Leona M. a Harry B. Helmsley Charitable Trust.[20]
V květnu 2018 získala ocenění ACM Software System Award 2017.[21] Jedná se o největší tým, který cenu získal.[22]
Viz také
Reference
- ^ A b „Notebook IPython: historická retrospektiva“. Blog Fernanda Pereze. 8. ledna 2012.
- ^ "historie vydání ipythonu". Index balíčků Pythonu. Citováno 5. listopadu 2020.
- ^ Helen, Shen (2014). „Interaktivní notebooky: Sdílení kódu“. Příroda. 515 (7525): 151–152. doi:10.1038 / 515151a. PMID 25373681.
- ^ "Používání IPythonu pro paralelní výpočty - dokumenty IPython".
- ^ A b "SciPy Stack".
- ^ „Tisk - dokumentace k SymPy 1.1“. docs.sympy.org. Citováno 11. dubna 2018.
- ^ McKinney, Wes (2012). "Kapitola 3". Python pro analýzu dat. ISBN 978-1-449-31979-3.
- ^ „Vydání IPython 5.0 - blog Jupyter“. Blog Jupyter. 8. července 2016. Citováno 11. dubna 2018.
- ^ „Project Jupyter // Speaker Deck“.
- ^ „Notebook, konzole Qt a řada dalších kusů jsou nyní součástí Jupyteru“.
- ^ „The Big Split ™“.
- ^ https://github.com/jupyter/design/wiki/Jupyter-Logo
- ^ A b Somersi, Jamesi. „Vědecká práce je zastaralá“. Atlantik. Citováno 10. dubna 2018.
- ^ Koziol, Conrad (12. září 2005). „Představujeme IPython“. NewsForge.
- ^ „Prezentace IPython“.
- ^ Pérez, Fernando; Granger, Brian E. (2007). „IPython: Systém pro interaktivní vědecké výpočty“ (PDF). Výpočetní technika ve vědě a inženýrství. 9 (3): 21–29. doi:10.1109 / MCSE.2007.53. Archivovány od originál (PDF) dne 2. června 2010. Citováno 30. července 2015.
- ^ "Oznámení ve scipy mailing listu".
- ^ „Oznámení IPython“.
- ^ „Zapsání ceny za produktivitu otřesů u Dr. Dobba“.
- ^ „6 milionů $ pro UC Berkeley a Cal Poly na rozšíření a vylepšení softwaru s otevřeným zdrojovým kódem pro vědecké výpočty a datovou vědu“. Citováno 13. srpna 2015.
- ^ „Nedávné novinky o softwarovém systému“.
- ^ „Jupyter získává cenu ACM Software System Award“.