IPython


IPython-Shell mit Matplotlib-Plotfenster
Basisdaten

Maintainer Matthias Bussonnier
Entwickler Fernando Pérez
Erscheinungsjahr 2001
Aktuelle Version 9.14.0[1]
(29. Mai 2026)
Betriebssystem plattformübergreifend
Programmier­sprache Python[2], JavaScript, C
Lizenz 3-Klausel-BSD[3]
deutschsprachig ja
ipython.org

IPython ist ein Kommandozeileninterpreter zum interaktiven Arbeiten mit der Programmiersprache Python. Es handelt sich nicht um eine bloße Erweiterung der in Python eingebauten Shell (siehe interaktive Benutzung von Python), sondern um eine Softwaresuite zum Entwickeln und Ausführen von Python-Programmen. Funktionen wie Introspektion, Befehlszeilenergänzung, Rich-Media-Einbettung und verschiedenen Frontends (Terminal, Qt-basiert oder browserbasiert) ermöglichen es, Python-Anwendungen mit einem Komfort zu entwickeln, wie man ihn von Software wie Matlab oder Mathematica kennt. IPython kann auch als integrierte Entwicklungsumgebung betrachtet werden. Tatsächlich handelt es sich bei IPython um ein Client-Server-Framework, welches für High-Performance-Rechnungen durch Parallelrechner verwendet werden kann.

Ursprung

Bearbeiten

IPython wurde 2001 von Fernando Pérez entwickelt, es entstammt der Domäne des wissenschaftlichen Rechnens. Da er aus Mathematica ein Notebook kannte und er dies in Python vermisste, fing er an eines für Python zu programmieren.[4]

Die Integration von Matplotlib in die Notebookoberfläche macht es zu einem Open-Source-Konkurrenten für die verbreitete Numerik-Software Matlab, weswegen man die Kombination von IPython mit Matplotlib oft auch als Pylab bezeichnet.

Architektur und Notebook

Bearbeiten
Die Architektur von IPython

Eine Besonderheit bei IPython ist der Einbau der Messagequeue ØMQ (vgl. Message Oriented Middleware). So trennt die Architektur von IPython klar das Backend als die Recheneinheit, etwa der Python-Interpreter, von dem Frontend als Darstellungsebene. Diese Trennung erlaubt es, IPython weitgehend universal für verschiedene Backends (oft auch Kernel genannt) und Frontends zu verwenden. Mithilfe des eventbasierten Python-Webservers Tornado und WebSockets stellt eine Weboberfläche ein mögliches Frontend dar. Dies erlaubt es, IPython im modernen Web (Web 2.0) flexibel einzusetzen.

IPython ist dokumentenorientiert. Ein IPython-Dokument wird, wie in dem wissenschaftlichen Umfeld üblich, als Notebook bezeichnet. Ein Notebook ist eine JSON-Datei, die eine geordnete Liste von Eingabe- und Ausgabezellen enthält, welche Code, Plain text, LaTeX-Ausgaben, Plots und diverse Medienformate darstellen kann. Damit unterscheidet sich ein IPython-Notebook grundsätzlich etwa von einem einfachen Python-Script, welches (in der Regel) nur Code enthält.

Beginnend mit Version 4.0 wurde das Projekt insgesamt aufgeteilt und weiter modularisiert. IPython wird fortan nicht länger als einzelnes, monolithisches Paket vertrieben, sondern begrenzt sich nun auf die an Python gebundenen Kernkomponenten. Sämtliche sprachunabhängige Module (wie das Notebook, die Qtconsole und die Messagequeue) wurden dagegen in ein neues Projekt namens Jupyter ausgelagert und können so zukünftig auch unabhängig von IPython genutzt und aktualisiert werden.[5]

Bearbeiten

Einzelnachweise

Bearbeiten
  1. ipython 9.14.0. 29. Mai 2026 (abgerufen am 29. Mai 2026).
  2. The ipython Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 19. Juli 2018).
  3. ipython.org. (abgerufen am 20. Juli 2017).
  4. Fernando Perez: The IPython notebook: a historical retrospective. Abgerufen am 28. November 2019 (englisch).
  5. IPython-4-Release schließt Projektmodularisierung ab, Bericht auf heise.de vom 12. August 2015; abgerufen am 20. August 2015.

📚 Artikel Terkait di Wikipedia

Project Jupyter

Fernando Pérez eine Ausgliederung aus dem Projekt IPython bekannt mit dem neuen Namen Project Jupyter. IPython existiert weiter als Python Shell und Kernel

Anaconda (Python-Distribution)

anderem die Entwicklungsumgebung Spyder, den Kommandozeileninterpreter IPython und die Webanwendung Jupyter Notebook enthält und insoweit quelloffen ist

Python (Programmiersprache)

Unix-Shellkommandos auch direkte Eingaben in Python-Form verarbeiten kann. IPython ist eine populäre interaktive Python-Shell mit stark erweiterter Funktionalität

Spyder (Software)

wissenschaftlichen Python-Stacks, darunter NumPy, SciPy, Matplotlib, Pandas, IPython, SymPy und Cython, sowie mit anderer Open-Source-Software lassen sich integrieren

R (Programmiersprache)

rscala für Scala und rPython für Python. Der Kommandozeileninterpreter IPython (Jupyter) kann mit IRkernel genutzt werden. Mit rocker kann R im Rahmen

SageMath

auf unterschiedliche Arten genutzt werden: durch eine interaktive, auf IPython basierende Konsole eine grafische Benutzeroberfläche, die im Webbrowser

Unix-Shell

verarbeiten, beispielsweise um Pipes effizient zu manipulieren. Das Programm IPython stellt eine interaktive Shell auf Basis der Programmiersprache Python zur

Kommandozeileninterpreter

interaktiven Shells BASIC, wie z. B. GW-BASIC Lisp Perl Python, auch mit IPython Ruby, auch mit Interactive Ruby Shell Programme mit Kommandozeile AutoCAD