Jupyter - Kurzanleitung
Project Jupyter ist eine Suite von Softwareprodukten, die im interaktiven Computing verwendet werden. IPython wurde ursprünglich 2001 von Fernando Perez als erweiterter Python-Interpreter entwickelt. Eine webbasierte Schnittstelle zum IPython-Terminal in Form eines IPython-Notebooks wurde 2011 eingeführt. 2014 startete Project Jupyter als Spin-off-Projekt von IPython.
Pakete im Rahmen des Jupyter-Projekts beinhalten -
Jupyter notebook - Eine webbasierte Schnittstelle zu Programmierumgebungen von Python, Julia, R und vielen anderen
QtConsole - Qt-basiertes Terminal für Jupyter-Kernel ähnlich wie IPython
nbviewer - Möglichkeit zum Teilen von Jupyter-Notizbüchern
JupyterLab - Moderne webbasierte integrierte Schnittstelle für alle Produkte.
Die Standarddistribution von Python wird mit a geliefert REPL (Read-Evaluate-Print Loop) Umgebung in Form einer Python-Shell mit >>>prompt. IPython (steht für Interactive Python) ist eine erweiterte interaktive Umgebung für Python mit vielen Funktionen im Vergleich zur Standard-Python-Shell.
Funktionen von IPython
IPython bietet mehr Funktionen als das Standard-Python. Sie sind wie folgt -
Bietet eine leistungsstarke interaktive Python-Shell.
Dient als Hauptkernel für Jupyter-Notebooks und andere Front-End-Tools von Project Jupyter.
Besitzt die Fähigkeit zur Selbstbeobachtung von Objekten. Introspektion ist die Fähigkeit, die Eigenschaften eines Objekts zur Laufzeit zu überprüfen.
Satzstellung markieren.
Speichert die Geschichte der Interaktionen.
Tab-Vervollständigung von Schlüsselwörtern, Variablen und Funktionsnamen.
Magic-Befehlssystem, das zur Steuerung der Python-Umgebung und zur Ausführung von Betriebssystemaufgaben nützlich ist.
Möglichkeit, in andere Python-Programme eingebettet zu werden.
Bietet Zugriff auf den Python-Debugger.
Geschichte und Entwicklung
IPython wurde ursprünglich von Fernando Perez im Jahr 2001 entwickelt. Die aktuelle Version ist IPython7.0.1, für die Python 3.4 oder höher erforderlich ist. IPython 6.0 war die erste Version, die Python 3 unterstützte. Benutzer mit Python 2.7 sollten mit IPythons Version 2.0 bis 5.7 arbeiten
Das Konzept der Computer-Notizbücher begann im Jahrzehnt der 80er Jahre, als MATLAB und Mathematica veröffentlicht wurden. Diese GUI-Frontends zur interaktiven Shell verfügten über Funktionen wie Textformatierung, Hinzufügen von Grafiken, Tabellen und Hinzufügen von mathematischen Symbolen. Sage Notebook ist auch ein webbasiertes Notebook.
Creaters of IPython begann 2005 mit der Arbeit an der Notebook-Oberfläche für die IPython-Shell. Das IPython-Notebook fügte bald die Unterstützung anderer Sprachen wie R und Julia hinzu. Im Jahr 2014 startete Perez das Jupyter-Projekt als Spin-off-Projekt von IPython, da das IPython-Projekt mit Produkten wie Notebook-Server und Qt-Konsole immer größer wurde.
Seit IPython 4.0 wurden alle zusätzlichen Komponenten auf Project Jupyter verschoben und IPython Notebook um die Unterstützung anderer Sprachen erweitert. IPython konzentriert sich weiterhin auf die Verbesserung seiner erweiterten Interpreter-Funktion. Es bietet auch einen primären Kernel für das Jupyter-Notebook-Frontend.
IPython ist standardmäßig in der Anaconda-Distribution von Python enthalten. Es kann von der Anaconda-Download-Seite www.anaconda.com/download/ heruntergeladen werden. Binärdateien für alle wichtigen Betriebssysteme (Windows, MacOS und Linux) und Architekturen (32-Bit und 64-Bit) sind unter diesem Link verfügbar.
Um IPython in der Standard-Python-Installation separat zu installieren, können Sie den Befehl pip wie folgt verwenden:
pip3 install ipython
IPython verwendet intern folgende Pakete:
Sr.Nr. | IPython-Abhängigkeiten und -Funktionalität |
---|---|
1 | colorama Plattformübergreifende API zum Drucken von farbigem Terminaltext aus Python |
2 | jedi Ein Autocompletion-Tool für Python |
3 | pickleshare Kleines "Regal" wie ein Datenspeicher mit Parallelitätsunterstützung |
4 | prompt_toolkit Bibliothek zum Erstellen leistungsfähiger interaktiver Befehlszeilen in Python |
5 | pygments In Python geschriebenes Syntax-Hervorhebungspaket |
6 | simplegeneric Einfache generische Funktionen |
7 | traitlets Konfigurationssystem für Python-Anwendungen. |
Im Allgemeinen werden alle Abhängigkeiten automatisch installiert. Andernfalls können Sie sie einzeln mit pip installieren.
In diesem Kapitel wird erläutert, wie Sie mit der Arbeit an IPython beginnen.
Starten von IPython über die Eingabeaufforderung.
Beachten Sie Folgendes, bevor Sie sich eingehend mit IPython befassen >>>werden Sie zwei wichtige Python-Eingabeaufforderungen bemerken, wie unten erläutert -
In[1] erscheint vor jedem Eingabeausdruck.
Out[1] wird angezeigt, bevor die Ausgabe angezeigt wird.
Außerdem werden die Zahlen in den eckigen Klammern automatisch erhöht. Beachten Sie zum besseren Verständnis den folgenden Screenshot -
Wenn Sie nun die Anaconda-Distribution von Python installiert haben, öffnen Sie die Anaconda-Eingabeaufforderung über das Startmenü.
Starten Sie IPython an der Conda-Eingabeaufforderung
Im Vergleich zur normalen Python-Konsole können wir einen Unterschied feststellen. Die IPython-Shell zeigt die Syntaxhervorhebung durch Verwendung verschiedener Farbschemata für verschiedene Elemente wie Ausdruck, Funktion, Variable usw.
Eine weitere nützliche Verbesserung ist die Vervollständigung von Registerkarten. Wir wissen, dass für jedes Objekt eine oder mehrere Methoden verfügbar sind, wie in seiner Klasse definiert. IPython zeigt eine entsprechende Liste von Methoden an, wenn Sie die Tabulatortaste nach dem Punkt vor dem Objekt drücken.
Im folgenden Beispiel wird eine Zeichenfolge definiert. Als Antwort werden die Methoden der Zeichenfolgenklasse angezeigt.
IPython liefert Informationen zu jedem Objekt, indem '?' vor. Es enthält Dokumentzeichenfolgen, Funktionsdefinitionen und Konstruktordetails der Klasse. Um beispielsweise das oben definierte Zeichenfolgenobjekt var zu untersuchen, geben Sie in die Eingabeaufforderung einvar?. Das Ergebnis zeigt alle Informationen dazu. Beachten Sie zum besseren Verständnis den folgenden Screenshot.
Magische Funktionen
Die in IPython integrierten magischen Funktionen sind äußerst leistungsfähig. Es gibt zwei Arten von magischen Funktionen.
- Line magics, die sehr ähnlich wie DOS-Befehle funktionieren.
- Cell magics, die in mehreren Codezeilen arbeiten.
In den folgenden Kapiteln werden wir die Funktionen der Linienmagie und der Zellmagie im Detail kennenlernen.
In diesem Kapitel erfahren Sie, wie Sie ein Python-Skript ausführen und bearbeiten.
Führen Sie den Befehl aus
Sie können verwenden runBefehl in der Eingabeaufforderung zum Ausführen eines Python-Skripts. Der Befehl run ist eigentlich ein Befehl für Zeilenmagie und sollte eigentlich als geschrieben werden%run. Die%automagic Der Modus ist standardmäßig immer aktiviert, daher können Sie dies weglassen.
In [1]: run hello.py
Hello IPython
Befehl bearbeiten
IPython bietet auch den Befehl zum Bearbeiten von Magie. Es ruft den Standardeditor des Betriebssystems auf. Sie können es über den Windows Notepad-Editor öffnen und das Skript bearbeiten. Sobald Sie es nach dem Speichern der Eingabe schließen, wird die Ausgabe des geänderten Skripts angezeigt.
In [2]: edit hello.py
Editing... done. Executing edited code...
Hello IPython
welcome to interactive computing
Beachten Sie, dass hello.py anfangs nur eine Anweisung enthielt und nach dem Bearbeiten eine weitere Anweisung hinzugefügt wurde. Wenn für den Bearbeitungsbefehl kein Dateiname angegeben wird, wird eine temporäre Datei erstellt. Beachten Sie den folgenden Code, der dasselbe anzeigt.
In [7]: edit
IPython will make a temporary file named:
C:\Users\acer\AppData\Local\Temp\ipython_edit_4aa4vx8f\ipython_edit_t7i6s_er.py
Editing... done. Executing edited code...
magic of IPython
Out[7]: 'print ("magic of IPython")'
IPython behält sowohl die Befehle als auch deren Ergebnisse der aktuellen Sitzung bei. Wir können durch Drücken der Auf- und Ab-Tasten durch die vorherigen Befehle scrollen.
Außerdem werden die letzten drei Ausgabeobjekte in speziellen Variablen _, __ und ___ gespeichert. Dashistory Der magische Befehl zeigt die vorherigen Befehle in der aktuellen Sitzung an, wie im folgenden Screenshot gezeigt -
Wenn die Anweisung in der Eingabezelle mit dem Ausrufezeichen (!) Beginnt, wird sie als Systembefehl für das zugrunde liegende Betriebssystem behandelt. Zum Beispiel,!ls (für Linux) und !dir (für Windows) zeigt den Inhalt des aktuellen Verzeichnisses an
Die Ausgabe des Systembefehls kann auch einer Python-Variablen zugewiesen werden, wie unten gezeigt -
Die Variable speichert die Ausgabe ohne Farben und teilt sie bei Zeilenumbrüchen.
Es ist auch möglich, Python-Variablen oder -Ausdrücke mit Systembefehlsaufrufen zu kombinieren. Variable in geschweiften Klammern {} kann in Befehlstext eingebettet werden. Beachten Sie das folgende Beispiel -
Hier ist ein weiteres Beispiel, um zu verstehen, dass das Präfixieren der Python-Variablen mit $ das gleiche Ergebnis erzielt.
In diesem Kapitel erfahren Sie, wie Sie mit verschiedenen Befehlszeilenoptionen in IPython arbeiten.
IPython-Programm aufrufen
Sie können ein IPython-Programm mit den folgenden Optionen aufrufen:
C:\python36> ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg]
Die Dateioption ist ein Python-Skript mit der Erweiterung .py. Wenn keine andere Option angegeben ist, wird das Skript ausgeführt und die Eingabeaufforderung wird erneut angezeigt.
C:\python36>ipython hello.py
Hello IPython
welcome to interactive computing
Unterbefehle und Parameter
Ein IPython-Befehl akzeptiert die folgenden Unterbefehlsoptionen:
Profile - Erstellen und verwalten Sie IPython-Profile.
Kernel - Starten Sie einen Kernel ohne angeschlossenes Frontend.
Locate - Drucken Sie den Pfad zum IPython-Verzeichnis.
History - Verwalten Sie die IPython-Verlaufsdatenbank.
Ein IPython-Profil-Unterbefehl akzeptiert die folgenden Parameter:
ipython profile create myprofile - Erstellt ein neues Profil.
ipython profile list - Listet alle verfügbaren Profile auf.
ipython locate profile myprofile - Findet das gewünschte Profil.
Verwenden Sie den folgenden Befehl, um einen neuen IPython-Kernel zu installieren:
Ipython kernel –install –name
Verwenden Sie den folgenden Befehl, um den Pfad zum IPython-Verzeichnis zu drucken:
C:\python36>ipython locate myprofile
C:\Users\acer\.ipython
Außerdem wissen wir, dass -
Das history Unterbefehl verwaltet die IPython-Verlaufsdatenbank.
Das trim Option reduziert die IPython-Verlaufsdatenbank auf die letzten 1000 Einträge.
Das clear Option löscht alle Einträge.
Einige der anderen wichtigen Befehlszeilenoptionen von IPython sind unten aufgeführt -
Sr.Nr. | IPython-Befehl und Beschreibung |
---|---|
1 | --automagic Aktivieren Sie das automatische Aufrufen von magischen Befehlen. |
2 | --pdb Aktivieren Sie das automatische Aufrufen des PDF-Debuggers nach jeder Ausnahme. |
3 | --pylab Laden Sie matplotlib und numpy für die interaktive Verwendung mit dem Standard-matplotlib-Backend vor. |
4 | --matplotlib Konfigurieren Sie matplotlib für die interaktive Verwendung mit dem Standard-Backend von matplotlib. |
5 | --gui=options Aktivieren Sie die Integration der GUI-Ereignisschleife mit ('glut', 'gtk', 'gtk2', 'gtk3', 'osx', 'pyglet', 'qt', 'qt4', 'qt5', 'tk', ' wx ',' gtk2 ',' qt4 '). |
Die Beispielverwendung einiger IPython-Befehlszeilenoptionen ist in der folgenden Tabelle aufgeführt:
Sr.Nr. | IPython-Befehl und Beschreibung |
---|---|
1 | ipython --matplotlib Aktivieren Sie die Matplotlib-Integration |
2 | ipython --matplotlib=qt Aktivieren Sie die Matplotlib-Integration mit dem qt4-Backend |
3 | ipython --profile=myprofile Beginnen Sie mit Profil foo |
4 | ipython profile create myprofile Erstellen Sie ein Profil mit Standardkonfigurationsdateien |
5 | ipython help profile Zeigen Sie die Hilfe für das Profil subcmd an |
6 | ipython locate Drucken Sie den Pfad zum IPython-Verzeichnis |
7 | ipython locate profile myprofile Drucken Sie den Pfad zum Verzeichnis für das Profil "myprofile" |
IPython bietet verschiedene Möglichkeiten, um Informationen zu Python-Objekten dynamisch abzurufen. In diesem Kapitel lernen wir die Möglichkeiten der dynamischen Objektintrospektion in IPython kennen.
Gebrauch von ? und ??bietet spezifische und detailliertere Informationen zum Objekt. Im ersten unten diskutierten Beispiel wird ein einfaches ganzzahliges Objekt a erstellt. Seine Informationen können durch Eingabe eines? in der Eingabezelle.
Im zweiten Beispiel definieren wir eine Funktion und überprüfen dieses Funktionsobjekt mit ? und ??.
Beachten Sie, dass die magische Funktion %psearch entspricht der Verwendung von ? oder ?? zum Abrufen von Objektinformationen.
Die Eingabe- und Ausgabezellen in der IPython-Konsole sind inkrementell nummeriert. Lassen Sie uns in diesem Kapitel das E / A-Caching in Python im Detail untersuchen.
In IPython werden Eingaben mit der Aufwärtspfeiltaste abgerufen. Außerdem werden alle vorherigen Eingaben gespeichert und können abgerufen werden. Die Variablen_i, __i, und ___iSpeichern Sie immer die vorherigen drei Eingabeeinträge. Und dazu,In und _inVariablen bietet Listen aller Eingaben. Offensichtlich_in[n]Ruft die Eingabe von der n-ten Eingabezelle ab. Die folgende IPython-Sitzung hilft Ihnen, dieses Phänomen zu verstehen:
In [1]: print ("Hello")
Hello
In [2]: 2+2
Out[2]: 4
In [3]: x = 10
In [4]: y = 2
In [5]: pow(x,y)
Out[5]: 100
In [6]: _iii, _ii, _i
Out[6]: ('x = 10', 'y = 2', 'pow(x,y)')
In [7]: In
Out[7]:
['',
'print ("Hello")',
'2+2',
'x = 10',
'y = 2',
'pow(x,y)',
'_iii, _ii, _i',
'In'
]
In [8]: In[5] 9. IPython — IO
Out[8]: 'pow(x,y)'
In [9]: _ih
Out[9]:
['',
'print ("Hello")',
'2+2',
'x = 10',
'y = 2',
'pow(x,y)',
'_iii, _ii, _i',
'In',
'In[5]',
'_ih'
]
In [11]: _ih[4]
Out[11]: 'y = 2'
In [12]: In[1:4]
Out[12]: ['print ("Hello")', '2+2', 'x=10']
In ähnlicher Weise fungieren einfache, doppelte und dreifache Unterstriche als Variablen zum Speichern der vorherigen drei Ausgaben. EbenfallsOut und _ohBilden Sie ein Wörterbuchobjekt mit der Zellennummer und der Ausgabe von Zellen, die Aktionen ausführen (ohne Zuweisungsanweisungen). Verwenden Sie zum Abrufen des Inhalts einer bestimmten AusgabezelleOut[n] oder _oh[n]. Sie können auch Slicing verwenden, um Ausgabezellen innerhalb eines Bereichs zu erhalten.
In [1]: print ("Hello")
Hello
In [2]: 2+2
Out[2]: 4
In [3]: x = 10
In [4]: y = 3
In [5]: pow(x,y)
Out[5]: 1000
In [6]: ___, __, _
Out[6]: ('', 4, 1000)
In [7]: Out
Out[7]: {2: 4, 5: 1000, 6: ('', 4, 1000)}
In [8]: _oh
Out[8]: {2: 4, 5: 1000, 6: ('', 4, 1000)}
In [9]: _5
Out[9]: 1000
In [10]: Out[6]
Out[10]: ('', 4, 1000)
Verschiedene Umgebungsvariablen beeinflussen das Verhalten von Python. Die Umgebungsvariable PYTHONSTARTUP wird einem Python-Skript zugewiesen. Infolgedessen wird dieses Skript ausgeführt, bevor die Python-Eingabeaufforderung angezeigt wird. Dies ist nützlich, wenn bestimmte Module bei jedem Start einer neuen Python-Sitzung standardmäßig geladen werden sollen.
Das folgende Skript (start.py) importiert das IPython-Modul und führt die Funktion start_ipython () aus, um die Standard-Python-Shell durch eine Eingabeaufforderung zu ersetzen (>>>) durch IPython-Shell, wenn die ausführbare Python-Datei aufgerufen wird.
import os, IPython
os.environ['PYTHONSTARTUP'] = ''
IPython.start_ipython()
raise SystemExit
Angenommen, diese Datei wird im Installationsverzeichnis von Python (c: \ python36) gespeichert, setzen Sie die Umgebungsvariable PYTHONSTARTUP und starten Sie Python über die Befehlszeile. Dann erscheint die IPython-Shell wie unten gezeigt -
Beachten Sie, dass die Umgebungsvariable im Dialogfeld "Systemeigenschaften" in Windows und im Exportbefehl unter Linux dauerhaft festgelegt werden kann.
IPython kann standardmäßig von der Standard-Python-Konsole lesen >>>Eingabeaufforderung und eine weitere IPython-Sitzung. Der folgende Screenshot zeigt eine in der Standard-Python-Shell geschriebene for-Schleife -
Kopieren Sie den Code (zusammen mit der Python-Eingabeaufforderung) und fügen Sie ihn in die IPython-Eingabezelle ein. IPython filtert intelligent die Eingabeaufforderungen (>>> und ...) oder IPython-Eingabeaufforderungen (In [N]: und ... :) heraus
Ebenso kann Code aus einer IPython-Sitzung in eine andere eingefügt werden. Der erste Screenshot unten zeigt die Definition der SayHello () - Funktion in einem IPython-Fenster -
Lassen Sie uns nun den Code auswählen und in eine andere IPython-Shell einfügen und die Funktion SayHello () aufrufen.
Die Funktion insert () des IPython-Moduls ermöglicht das Einbetten von IPython in den Namespace Ihrer Python-Codes. Dadurch können Sie IPython-Funktionen wie Objekt-Introspektion und Tab-Vervollständigung in der Standard-Python-Umgebung nutzen.
Python-Objekte, die vor dem Einbetten im globalen Namespace vorhanden sind, stehen IPython zur Verfügung.
Wenn neue Objekte in IPython erstellt werden oder frühere Objekte geändert werden, stehen sie nach dem Beenden von IPython automatisch der Standardumgebung zur Verfügung. Die eingebettete IPython-Shell ändert den Status früherer Codes oder Objekte nicht.
Wenn IPython jedoch wie in einer Funktion in einen lokalen Namespace eingebettet ist, sind die darin enthaltenen Objekte nach dem Schließen nicht mehr verfügbar. Hier haben wir eine Funktion add () definiert. In add () rufen wir IPython auf und deklarieren eine Variable. Wenn wir versuchen, nach dem Schließen auf eine Variable in IPython zuzugreifen, wird eine NameError-Ausnahme ausgelöst.
Magische Befehle oder magische Funktionen sind eine der wichtigen Verbesserungen, die IPython im Vergleich zur Standard-Python-Shell bietet. Diese magischen Befehle sollen häufig auftretende Probleme bei der Datenanalyse mit Python lösen. Tatsächlich steuern sie das Verhalten von IPython selbst.
Magische Befehle fungieren als praktische Funktionen, bei denen die Python-Syntax nicht die natürlichste ist. Sie sind nützlich, um ungültige Python-Syntax in ihren Workflow einzubetten.
Arten von magischen Befehlen
Es gibt zwei Arten von magischen Befehlen:
- Linienmagie
- Zellmagie
Linienmagie
Sie ähneln Befehlszeilenaufrufen. Sie beginnen mit% Zeichen. Der Rest der Zeile ist das Argument, das ohne Klammern oder Anführungszeichen übergeben wird. Linienmagie kann als Ausdruck verwendet werden und ihr Rückgabewert kann einer Variablen zugewiesen werden.
Zellmagie
Sie haben %% Zeichenpräfix. Im Gegensatz zu zeilenmagischen Funktionen können sie auf mehreren Leitungen unterhalb ihres Anrufs arbeiten. Sie können tatsächlich willkürliche Änderungen an der Eingabe vornehmen, die sie erhalten, die nicht einmal ein gültiger Python-Code sein muss. Sie erhalten den gesamten Block als einzelne Zeichenfolge.
Verwenden Sie den Befehl magic, um mehr über magische Funktionen, die integrierte Magie und ihre Dokumentzeichenfolgen zu erfahren. Informationen über eine bestimmte magische Funktion werden von% erhaltenmagicfunction?Befehl. Lassen Sie uns nun einige der eingebauten magischen Befehle für Linien und Zellen beschreiben.
Eingebaute Linienmagie
%autocall [mode]
Diese magische Funktion macht eine Funktion automatisch aufrufbar, ohne Klammern verwenden zu müssen. Es werden drei mögliche Modusparameter benötigt:0 (off), 1 (smart) is default oder 2 (always on).
% automagic
Magische Funktionen können aufgerufen werden, ohne dass das anfängliche% eingegeben werden muss, wenn es auf 1 gesetzt ist. Ohne Argumente wird es ein- und ausgeschaltet. Zum Deaktivieren auf 0 setzen.
Das folgende Beispiel zeigt eine magische Funktion %pwd (zeigt das aktuelle Arbeitsverzeichnis an) wird aufgerufen, ohne% zu führen, wenn% automagic auf 1 gesetzt ist
%CD
Diese Zeilenmagie ändert das aktuelle Verzeichnis. Dieser Befehl verwaltet automatisch eine interne Liste der Verzeichnisse, die Sie während Ihrer IPython-Sitzung besuchen, in der Variablen _dh. Sie können auch 'cd - <tab>' ausführen, um den Verzeichnisverlauf bequem anzuzeigen.
Verwendung
Der Befehl% cd kann auf folgende Arten verwendet werden:
%cd <dir> - Ändert das aktuelle Arbeitsverzeichnis in <Verzeichnis>
%cd.. - Ändert das aktuelle Verzeichnis in das übergeordnete Verzeichnis
%cd - wechselt zum zuletzt besuchten Verzeichnis.
% dhist
Dieser magische Befehl druckt alle Verzeichnisse, die Sie in der aktuellen Sitzung besucht haben. Jedes Mal, wenn der Befehl% cd verwendet wird, wird diese Liste in aktualisiert_dh Variable.
%bearbeiten
Dieser magische Befehl ruft den Standardtexteditor des aktuellen Betriebssystems (Notepad für Windows) zum Bearbeiten eines Python-Skripts auf. Das Skript wird ausgeführt, wenn der Editor geschlossen wird.
% env
Dieser magische Befehl listet alle Umgebungsvariablen auf. Es liest auch den Wert einer bestimmten Variablen oder legt den Wert der Umgebungsvariablen fest.
Usage
Der Befehl% cd kann auf folgende Arten verwendet werden:
%env - Listet alle Umgebungsvariablen auf
%env var - Ruft den Wert für var ab
%env var val - Legt den Wert für var fest
% gui [GUINAME]
Bei Verwendung ohne Argument aktiviert oder deaktiviert dieser Befehl die Integration der IPython-GUI-Ereignisschleife. Mit dem Argument GUINAME ersetzt diese Magie die Standard-GUI-Toolkits durch das angegebene.
Sr.Nr. | Befehl & Beschreibung |
---|---|
1 | %gui wx Aktivieren Sie die Integration der wxPython-Ereignisschleife |
2 | %gui qt4|qt Aktivieren Sie die PyQt4-Ereignisschleifenintegration |
3 | %gui qt5 Aktivieren Sie die PyQt5-Ereignisschleifenintegration |
4 | %gui gtk Aktivieren Sie die PyGTK-Ereignisschleifenintegration |
5 | %gui gtk3 Aktivieren Sie die Integration der Gtk3-Ereignisschleife |
6 | %gui tk Aktivieren Sie die Tk-Ereignisschleifenintegration |
7 | %gui osx Aktivieren Sie die Integration der Cocoa-Ereignisschleife |
8 | (erfordert% matplotlib 1.1) |
9 | %gui Deaktivieren Sie die gesamte Ereignisschleifenintegration |
% lsmagisch
Zeigt alle derzeit verfügbaren magischen Funktionen an
% matplotlib
Diese Funktion aktiviert die interaktive Unterstützung von matplotlib während einer IPython-Sitzung. Es wird jedoch keine matplotlib-Bibliothek importiert. Das Standard-GUI-Toolkit von matplotlib ist TkAgg. Sie können jedoch explizit ein anderes GUI-Backend anfordern. Sie können eine Liste der verfügbaren Backends wie gezeigt sehen -
In [4]: %matplotlib --list
Available matplotlib backends:
['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt', 'nbagg','gtk', 'tk', 'inline']
Die hier gezeigte IPython-Sitzung zeichnet eine Sinuswelle mit qt Toolkit -
Bei Verwendung des Jupyter-Notizbuchs zeigt die Inline-Direktive% matplotlib die Plotausgabe nur im Browser an.
%Notizbuch
Diese Funktion konvertiert den aktuellen IPython-Verlauf in eine IPython-Notizbuchdatei mit der Erweiterung ipynb. Die Eingabezellen im vorherigen Beispiel werden als sine.ipynb gespeichert
%notebook sine.ipynb
% pinfo
Diese Funktion ähnelt der Objektintrospektion? Charakter. Verwenden Sie den folgenden Befehl, um Informationen zu einem Objekt zu erhalten:
%pinfo object
Dies ist auch zu object? oder ?object.
%Präzision
Diese magische Funktion beschränkt ein Gleitkommaergebnis auf bestimmte Ziffern nach der Dezimalstelle.
% pwd
Diese magische Funktion gibt das aktuelle Arbeitsverzeichnis zurück.
% Pylab
Diese Funktion füllt die aktuelle IPython-Sitzung mit Matplotlib- und Numpy-Bibliotheken.
%erinnern
Bei Ausführung ohne Parameter führt diese Funktion den vorherigen Befehl aus.
Beachten Sie, dass in %recall nDie Nummer davor ist die eingegebene Zellennummer. Daher wird der Befehl in der n-ten Zelle abgerufen. Sie können Befehle in Zellabschnitten mit Befehlen wie z%recall 1-4. Die aktuelle Eingabezelle wird mit der zurückgerufenen Zelle gefüllt und der Cursor blinkt, bis die Eingabetaste gedrückt wird.
%Lauf
Dieser Befehl führt ein Python-Skript in der IPython-Shell aus.
%Zeit
Dieser Befehl zeigt die Zeit an, die die IPython-Umgebung benötigt, um einen Python-Ausdruck auszuführen.
% timeit
Diese Funktion zeigt auch die Zeit an, die die IPython-Umgebung benötigt, um einen Python-Ausdruck auszuführen. Die zeitliche Ausführung einer Python-Anweisung oder eines Python-Ausdrucks verwendet das timeit-Modul. Diese Funktion kann sowohl als Linien- als auch als Zellmagie verwendet werden, wie hier erläutert -
Im line mode Sie können eine einzelne Zeile zeitlich festlegen.
Im cell modewird die Anweisung in der ersten Zeile als Setup-Code verwendet und der Körper der Zelle wird zeitlich festgelegt. Der Zellkörper hat Zugriff auf alle Variablen, die im Setup-Code erstellt wurden.
%Wer
Diese Linienmagie druckt alle interaktiven Variablen mit minimaler Formatierung. Wenn Argumente angegeben werden, werden nur Variablen gedruckt, deren Typ mit einem dieser Argumente übereinstimmt.
IPython Custom Line Magic-Funktion
Die Kernbibliothek von IPython enthält register_line_magic decorator. Eine benutzerdefinierte Funktion wird mit diesem Dekorator in eine zeilenmagische Funktion umgewandelt.
Das Projekt Jupyter wurde 2014 als Spin-off des IPython-Projekts gestartet. Die sprachunabhängigen Funktionen von IPython wurden unter dem Namen Jupyter verschoben. Der Name bezieht sich auf die von Jupyter unterstützten Kernprogrammiersprachen Julia, Python und RProducts im Rahmen des Jupyter-Projekts, die interaktive Datenwissenschaft und wissenschaftliches Rechnen unterstützen sollen.
Das Projekt Jupyter besteht aus verschiedenen Produkten, die wie folgt beschrieben werden:
IPykernel - Dies ist ein Paket, das Jupyter den IPython-Kernel zur Verfügung stellt.
Jupyter client- Dieses Paket enthält die Referenzimplementierung des Jupyter-Protokolls. Es ist auch eine Client-Bibliothek zum Starten, Verwalten und Kommunizieren mit Jupyter-Kerneln.
Jupyter notebook- Dies war früher als IPython-Notebook bekannt. Dies ist eine webbasierte Schnittstelle zum IPython-Kernel und zu Kerneln vieler anderer Programmiersprachen.
Jupyter kernels - Kernel ist die Ausführungsumgebung einer Programmiersprache für Jupyter-Produkte.
Die Liste der Jupyter-Kernel ist unten angegeben -
Kernel | Sprache | URL |
---|---|---|
IJulia | Julia | https://github.com/JuliaLang |
IHaskell | Haskell | https://github.com/gibiansky |
IRuby | Rubin | https://github.com/SciRuby/iruby |
IJavaScript | JavaScript | https://github.com/n-riesco |
IPHP | PHP | https://github.com/dawehner |
IRKernel | R. | http://irkernel.github.io/ |
Qtconsole - Eine umfangreiche Qt-basierte Konsole für die Arbeit mit Jupyter-Kerneln
nbconvert - Konvertiert Jupyter-Notebook-Dateien in andere Formate
JupyterLab - Webbasierte integrierte Schnittstelle für Notebooks, Editoren, Konsolen usw.
nbviewer - HTML-Viewer für Notebook-Dateien
Das IPython-Notebook wurde von Fernando Perez als webbasiertes Frontend für den IPython-Kernel entwickelt. Um eine integrierte interaktive Computerumgebung für mehrere Sprachen zu schaffen, wurde das Notebook-Projekt unter Project Jupyter verschoben und bietet neben Python ein Front-End für die Programmierumgebungen Juila und R.
Ein Notizbuchdokument besteht aus Rich-Text-Elementen mit HTML-formatiertem Text, Abbildungen, mathematischen Gleichungen usw. Das Notizbuch ist auch ein ausführbares Dokument, das aus Codeblöcken in Python oder anderen unterstützenden Sprachen besteht.
Jupyter Notebook ist eine Client-Server-Anwendung. Die Anwendung startet den Server auf dem lokalen Computer und öffnet die Notebook-Oberfläche im Webbrowser, wo sie bearbeitet und ausgeführt werden kann. Das Notebook wird als ipynb-Datei gespeichert und kann als HTML-, PDF- und LaTex-Datei exportiert werden.
Wenn Sie Jupyter noch nicht kennen, können Sie die Funktionen des Jupyter-Notebooks ausprobieren, bevor Sie es auf Ihrem lokalen Computer installieren. Besuchen Sie zu diesem Zweckhttps://jupyter.org in Ihrem Browser und wählen Sie ‘Try Jupyter with Python’ Möglichkeit.
Dies öffnet die Homepage von https://mybinder.orgWählen Sie im Menü Datei die Option Neues Notizbuch, um einen leeren Jupyter in Ihrem Browser zu öffnen. Die Eingabezelle wird ähnlich wie im IPython-Terminal angezeigt. Sie können einen beliebigen Python-Ausdruck darin ausführen.
Sie können die Jupyter-Notebook-Anwendung einfach mit dem pip package manager installieren.
pip3 install jupyter
Verwenden Sie zum Starten der Anwendung den folgenden Befehl im Eingabeaufforderungsfenster.
c:\python36>jupyter notebook
Die Serveranwendung wird unter der Standardportnummer 8888 ausgeführt und das Browserfenster wird geöffnet, um das Notebook-Dashboard anzuzeigen.
Beachten Sie, dass im Dashboard ein Dropdown-Menü am rechten Rand des Browsers mit einem Pfeil neben der Schaltfläche Neu angezeigt wird. Es enthält die derzeit verfügbaren Notebook-Kernel. Wählen Sie nun Python 3, und ein neues Notizbuch wird in einer neuen Registerkarte geöffnet. Eine Eingabezelle ähnlich der in der IPython-Konsole wird angezeigt.
Sie können einen beliebigen Python-Ausdruck darin ausführen. Das Ergebnis wird in der Zelle Out angezeigt.
Das Dashboard von Jupyter Notebook enthält drei Registerkarten, wie im folgenden Screenshot gezeigt -
Registerkarte "Dateien"
Auf der Registerkarte "Dateien" werden Dateien und Ordner im aktuellen Verzeichnis angezeigt, aus dem die Notebook-App aufgerufen wurde. Die Zeile, die einem aktuell geöffneten Notizbuch und dem laufenden Status entspricht, wird direkt neben der zuletzt geänderten Spalte angezeigt. Außerdem wird die Schaltfläche Hochladen angezeigt, mit der eine Datei auf den Notebook-Server hochgeladen werden kann.
Registerkarte "Ausführen"
Auf der Registerkarte "Laufen" wird angezeigt, welche Notebooks derzeit ausgeführt werden.
Registerkarte "Cluster"
Die dritte Registerkarte "Cluster" wird von IPython parallel bereitgestellt. IPythons Parallel Computing Framework, eine erweiterte Version des IPython-Kernels.
Wählen Sie in der Dropdown-Liste Neu die Option Terminal, um ein Cmd-Fenster zu öffnen. Hier können Sie jetzt ein IPython-Terminal starten.
In der Benutzeroberfläche von Jupyter wird direkt neben dem Logo in der Kopfzeile der Dateiname angezeigt.
Sie finden die Menüleiste unter der Überschrift. Jedes Menü enthält viele Optionen, die später erläutert werden.
Eine Reihe von Symbolen in der Symbolleiste hilft dem Benutzer, häufig erforderliche Vorgänge auszuführen
Das Notebook verfügt über zwei Modi - Command mode und Edit mode. Das Notizbuch wechselt in den Bearbeitungsmodus, wenn auf eine Zelle geklickt wird. Beachten Sie das Stiftsymbol neben dem Namen des Kernels.
Das Kernel-Indikatorsymbol wird rechts neben dem Kernelnamen angezeigt. Beachten Sie, dass ein hohler Kreis bedeutet, dass der Kernel inaktiv ist, und ein ausgefüllter Kreis bedeutet, dass er beschäftigt ist.
Dateimenü
Die folgenden Optionen stehen im Menü Datei zur Verfügung:
Sr.Nr. | Dateimenü & Beschreibung |
---|---|
1 | New notebook Wählen Sie den Kernel, um ein neues Notizbuch zu starten |
2 | Open Führt den Benutzer zum Dashboard, um das zu öffnende Notizbuch auszuwählen |
3 | Save as Speichern Sie das aktuelle Notizbuch und starten Sie den neuen Kernel |
4 | Rename Benennen Sie das aktuelle Notizbuch um |
5 | Save speichert das aktuelle Notizbuch und speichert den aktuellen Prüfpunkt |
6 | Revert Setzt den Status des Notebooks auf einen früheren Prüfpunkt zurück |
7 | Download Exportieren Sie ein Notizbuch in einem der verschiedenen Dateiformate |
Die verfügbaren Dateiformate werden unten angezeigt -
Menü bearbeiten
Das Bearbeitungsmenü besteht aus Schaltflächen zum Ausschneiden, Kopieren und Einfügen von Zellen, Löschen ausgewählter Zellen, Teilen und Zusammenführen von Zellen, Verschieben von Zellen nach oben und unten, Suchen und Ersetzen im Notizbuch, Ausschneiden / Kopieren von Anhängen und Einfügen von Bildern.
Ansicht-Menü
Die Schaltflächen in diesem Menü helfen uns, Kopf-, Symbolleisten- und Zellennummern auszublenden / anzuzeigen.
Menü einfügen
In diesem Menü können Sie eine Zelle vor oder nach der aktuellen Zelle einfügen.
Zellenmenü
Mit den Optionen in diesem Menü kann der Benutzer alle oder bestimmte Zellen im Notizbuch ausführen. Sie können den Zelltyp auch auf Codetyp, Markdown oder unformatierten nbconvert-Typ einstellen.
Kernel-Menü
Über dieses Menü können Sie den Kernel starten, unterbrechen, neu starten oder herunterfahren. Sie können auch einen neuen Kernel starten.
Widgets-Menü
In diesem Menü können Sie den Widget-Status speichern, löschen, herunterladen oder einbetten.
Hilfemenü
In diesem Menü werden verschiedene vordefinierte Tastaturkürzel angezeigt. Sie können die Verknüpfungen auch nach Ihren Wünschen bearbeiten.
Es gibt drei Arten von Zellen im Jupyter-Notizbuch: Code, Markdown und Raw.
Codezellen
Inhalte in dieser Zelle werden als Anweisungen in einer Programmiersprache des aktuellen Kernels behandelt. Der Standardkernel ist Python. Wir können also Python-Anweisungen in eine Codezelle schreiben. Wenn eine solche Zelle ausgeführt wird, wird ihr Ergebnis in einer Ausgabezelle angezeigt. Die Ausgabe kann Text-, Bild-, Matplotlib-Diagramme oder HTML-Tabellen sein. Codezellen sind Rich-Text-fähig.
Markdown-Zellen
Diese Zellen enthalten Text, der mit der Markdown-Sprache formatiert wurde. Es stehen alle Arten von Formatierungsfunktionen zur Verfügung, z. B. das Fett- und Kursivdrucken von Text, das Anzeigen geordneter oder ungeordneter Listen, das Rendern von Tabelleninhalten usw. Markdown-Zellen sind besonders nützlich, um den Rechenprozess des Notizbuchs zu dokumentieren.
Rohe Zellen
Inhalte in Rohzellen werden vom Notebook-Kernel nicht ausgewertet. Wenn sie durch nbconvert geleitet werden, werden sie wie gewünscht gerendert. Wenn Sie LatEx in eine Rohzelle eingeben, erfolgt das Rendern, nachdem nbconvert angewendet wurde.
Während Sie über die Menüleiste und die Symbolleiste verschiedene Vorgänge am Notebook ausführen können, ist es wünschenswert, Tastaturkürzel verwenden zu können, um diese schnell auszuführen.
Jupyter-Notebooks verfügen über zwei verschiedene Tastatureingabemodi:
Command Mode- Bindet die Tastatur an Aktionen auf Notebook-Ebene. Wird durch einen grauen Zellenrand mit einem blauen linken Rand angezeigt.
Edit Mode- Wenn Sie eine Zelle eingeben. Wird durch einen grünen Zellrand angezeigt.
Befehlsmodus (zum Aktivieren Esc drücken)
F |
suchen und Ersetzen | 1 |
Ändern Sie die Zelle in Position 1 |
Ctrl-Shift-F |
Öffnen Sie die Befehlspalette | 2 |
Ändern Sie die Zelle in Position 2 |
Ctrl-Shift-P |
Öffnen Sie die Befehlspalette | 3 |
Ändern Sie die Zelle in Position 3 |
Enter |
Aktivieren Sie den Bearbeitungsmodus | 4 |
Ändern Sie die Zelle in Position 4 |
P |
Öffnen Sie die Befehlspalette | 5 |
Ändern Sie die Zelle in Position 5 |
Shift-Enter |
Zelle ausführen, unten auswählen | 6 |
Ändern Sie die Zelle in Position 6 |
Ctrl-Enter |
Führen Sie ausgewählte Zellen aus | A |
Zelle oben einfügen |
Alt-Enter |
Zelle ausführen und unten einfügen | B |
Zelle unten einfügen |
Y |
Zelle in Code ändern | X |
Schneiden Sie ausgewählte Zellen aus |
M |
Ändern Sie die Zelle in Markdown | C |
Kopieren Sie ausgewählte Zellen |
R |
Ändern Sie die Zelle in roh | V |
Zellen unten einfügen |
K |
Zelle oben auswählen | Z |
Löschen von Zellen rückgängig machen |
Up |
Zelle oben auswählen | D,D |
ausgewählte Zellen löschen |
Down |
Wählen Sie die Zelle unten aus | Shift-M |
Wählen Sie ausgewählte Zellen oder die aktuelle Zelle mit der Zelle darunter zusammen, wenn nur eine Zelle ausgewählt ist |
J |
Wählen Sie die Zelle unten aus | Shift-V |
Zellen oben einfügen |
Shift-K |
Erweitern Sie ausgewählte Zellen oben | L |
Zeilennummern umschalten |
Shift-Up |
Erweitern Sie ausgewählte Zellen oben | O |
Schalten Sie die Ausgabe ausgewählter Zellen um |
Shift-Down |
Erweitern Sie ausgewählte Zellen unten | Shift-O |
Schalten Sie das Scrollen der Ausgabe ausgewählter Zellen um |
Shift-J |
Erweitern Sie ausgewählte Zellen unten | I,I |
Unterbrechen Sie den Kernel |
Ctrl-S |
Speichern und prüfen | 0,0 |
Starten Sie den Kernel neu (mit Dialog) |
S |
Speichern und prüfen | Esc |
Schließen Sie den Pager |
Shift-L |
Schaltet die Zeilennummern in allen Zellen um und behält die Einstellung bei | Q |
Schließen Sie den Pager |
Shift-Space |
Notizbuch nach oben scrollen | Space |
Notizbuch nach unten scrollen |
Bearbeitungsmodus (drücken Sie die Eingabetaste, um zu aktivieren)
Tab |
Code-Vervollständigung oder Einzug | Ctrl-Home |
Gehe zum Zellenstart |
Shift-Tab |
Tooltip | Ctrl-Up |
Gehe zum Zellenstart |
Ctrl-] |
Einzug | Ctrl-End |
Gehe zum Zellende |
Ctrl-[ |
dedent | Ctrl-Down |
Gehe zum Zellende |
Ctrl-A |
Wählen Sie Alle | Ctrl-Left |
Geh ein Wort nach links |
Ctrl-Z |
rückgängig machen | Ctrl-Right |
Geh ein Wort nach rechts |
Ctrl-/ |
Kommentar | Ctrl-M |
Befehlsmodus aufrufen |
Ctrl-D |
ganze Zeile löschen | Ctrl-Shift-F |
Öffnen Sie die Befehlspalette |
Ctrl-U |
Auswahl rückgängig machen | Ctrl-Shift-P |
Öffnen Sie die Befehlspalette |
Insert |
Umschaltflagge umschalten | Esc |
Befehlsmodus aufrufen |
Ctrl-Backspace |
Wort vorher löschen | Ctrl-Y |
wiederholen |
Ctrl-Delete |
Wort nach löschen | Alt-U |
Auswahl wiederholen |
Shift-Enter |
Zelle ausführen, unten auswählen | Ctrl-Shift-Minus |
Zelle am Cursor teilen |
Ctrl-Enter |
Führen Sie ausgewählte Zellen aus | Down |
Bewegen Sie den Cursor nach unten |
Alt-Enter |
Zelle ausführen und unten einfügen | Up |
Bewegen Sie den Cursor nach oben |
Ctrl-S |
Speichern und prüfen |
Markdown-Zelle zeigt Text an, der mit der Markdown-Sprache formatiert werden kann. Um einen Text einzugeben, der vom Notebook-Server nicht als Code behandelt werden soll, muss er zuerst entweder aus dem Zellenmenü oder mithilfe der Tastenkombination M im Befehlsmodus als Markdown-Zelle konvertiert werden. Die Eingabeaufforderung In [] vor der Zelle verschwindet.
Kopfzelle
Eine Markdown-Zelle kann Kopfzeilentext in 6 Größen anzeigen, ähnlich wie HTML-Kopfzeilen. Beginnen Sie den Text in der Markdown-Zelle mit dem Symbol #. Verwenden Sie so viele # -Symbole, wie Sie möchten. Dies bedeutet, dass ein einzelnes # die größte Kopfzeile und sechs # Symbole den Kopf der kleinsten Schriftgröße darstellen. Das Rendern erfolgt, wenn Sie die Zelle entweder über das Zellenmenü oder die Schaltfläche Ausführen in der Symbolleiste ausführen.
Der folgende Screenshot zeigt Markdown-Zellen im Bearbeitungsmodus mit Überschriften auf drei verschiedenen Ebenen.
Wenn Zellen ausgeführt werden, lautet die Ausgabe wie folgt:
Beachten Sie, dass der Jupyter-Notebook-Markdown die WYSWYG-Funktion nicht unterstützt. Der Formatierungseffekt wird erst gerendert, nachdem die Markdown-Zelle ausgeführt wurde.
Bestellte Listen
Um eine nummerierte Liste wie mit dem <ol> -Tag von HTML zu rendern, sollte das erste Element in der Liste mit 1 nummeriert werden. Nachfolgenden Elementen kann eine beliebige Nummer zugewiesen werden. Es wird seriell gerendert, wenn die Markdown-Zelle ausgeführt wird. Um eine eingerückte Liste anzuzeigen, drücken Sie die Tabulatortaste und beginnen Sie das erste Element in jeder Unterliste mit 1.
Wenn Sie die folgenden Daten für den Abschlag angeben -
Es wird die folgende Liste angezeigt -
Aufzählungszeichen
Jedes Element in der Liste zeigt einen durchgezogenen Kreis an, wenn es mit dem Symbol - beginnt, wobei ein ausgefülltes quadratisches Symbol angezeigt wird, wenn die Liste mit dem Symbol * beginnt. Das folgende Beispiel erläutert diese Funktion:
Der gerenderte Abschlag wird wie folgt angezeigt:
Hyperlinks
Markdown-Text, der mit http oder https beginnt, rendert automatisch einen Hyperlink. Um einen Link an Text anzuhängen, setzen Sie Text in eckige Klammern [] und verknüpfen Sie ihn optional in Klammern (), einschließlich schwebendem Text. Der folgende Screenshot erklärt dies.
Der gerenderte Abschlag wird wie folgt angezeigt:
Fett und kursiv
Um einen Text in Fettdruck anzuzeigen, setzen Sie ihn zwischen doppelte Unterstriche oder zwei Sternchen. Um es kursiv darzustellen, setzen Sie es zwischen einzelne Unterstriche oder einzelne Sternchen.
Das Ergebnis ist wie folgt:
Bilder
Um ein Bild in einer Markdown-Zelle anzuzeigen, wählen Sie im Menü Bearbeiten die Option 'Bild einfügen' und navigieren Sie zur gewünschten Bilddatei. Die Markdown-Zelle zeigt ihre Syntax wie folgt:
Das Bild wird wie unten gezeigt auf dem Notizbuch gerendert -
Tabelle
In einer Markdown-Zelle kann eine Tabelle mit | erstellt werden (Rohrsymbol) und - (Bindestrich) zum Markieren von Spalten und Zeilen. Beachten Sie, dass die Symbole während der Eingabe nicht genau ausgerichtet sein müssen. Es sollte nur den jeweiligen Platz der Spalten- und Zeilenränder einnehmen. Die Größe des Notebooks wird automatisch entsprechend dem Inhalt geändert. Eine Tabelle ist wie folgt aufgebaut:
Die Ausgabetabelle wird wie folgt gerendert -
Lassen Sie uns in diesem Kapitel die Funktionen der Zellmagie und ihre Funktionen verstehen.
%% html
Diese zellmagische Funktion rendert den Inhalt der Codezelle als HTML-Skript.
%% js oder %% Javascript
Mit Hilfe dieses Befehls cell cell können Sie Javascript-Code in die Jupyter-Notizbuchzelle einbetten.
%% Schreibdatei
Der Inhalt der Codezelle wird mit diesem Befehl in eine Datei geschrieben.
Der IPython-Kernel des Jupyter-Notebooks kann Code-Diagramme in Eingabezellen anzeigen. Es funktioniert nahtlos mitmatplotlibBibliothek. Die Inline-Option mit dem%matplotlib Die magische Funktion rendert die Plot-Out-Zelle, auch wenn show()Die Funktion des Plotobjekts wird nicht aufgerufen. Dasshow() Funktion bewirkt, dass die Abbildung unten in der Zelle [] ohne out [] mit der Nummer angezeigt wird.
Fügen Sie nun hinzu plt.show() am Ende und führen Sie die Zelle erneut aus, um den Unterschied zu sehen.
Beachten Sie, dass die% matplotlib-Notizbuchmagie eine interaktive Darstellung darstellt.
Direkt unter der Abbildung finden Sie eine Symbolleiste zum Wechseln der Ansichten, Schwenken, Zoomen und Herunterladen.
Wenn Sie die Daten unter dem Diagramm ändern, ändert sich die Anzeige dynamisch, ohne ein anderes Diagramm zu zeichnen.
Ändern Sie im obigen Beispiel die Datensätze von x und y in der Zelle unten und zeichnen Sie die Abbildung erneut. Die obige Abbildung wird dynamisch aktualisiert.
Jupyter Notebook-Dateien haben .ipynbErweiterung. Notebook wird im Webbrowser von der Notebook-App gerendert. Es kann in verschiedene Dateiformate exportiert werden, indem Download als Option im Dateimenü verwendet wird. Jupyter hat auch eine Kommandozeilenschnittstelle in Form vonnbconvertMöglichkeit. Standardmäßig exportiert nbconvert das Notizbuch in das HTML-Format. Zu diesem Zweck können Sie den folgenden Befehl verwenden:
jupyter nbconvert mynotebook.ipynb
Dies wird konvertieren mynotebook.ipynb zum mynotebook.html. Ein anderes Exportformat wird mit angegeben`--to` Klausel.
Beachten Sie, dass andere Optionen ['asciidoc', 'custom', 'html', 'latex', 'markdown', 'notebook', 'pdf', 'python', 'rst', 'script', 'slide'] umfassen.
HTML enthält "einfache" und "vollständige" Vorlagen. Sie können dies in der Befehlszeile wie unten gezeigt angeben -
jupyter nbconvert --to html --template basic mynotebook.ipynb
LaTex ist ein Dokumentvorbereitungsformat, das speziell für den wissenschaftlichen Satz verwendet wird. Jupyter enthält Vorlagen für 'Basis', 'Artikel' und 'Bericht'.
jupyter nbconvert --to latex –template report mynotebook.ipynb
Verwenden Sie den folgenden Befehl, um PDF über Latex zu generieren:
jupyter nbconvert mynotebook.ipynb --to pdf
Notebook kann in eine HTML-Diashow exportiert werden. Die Konvertierung verwendet Reveal.js im Hintergrund. Fügen Sie --postserve in der Befehlszeile hinzu, um die Folien von einem HTTP-Server bereitzustellen. Um Folien zu erstellen, für die keine Internetverbindung erforderlich ist, platzieren Sie die Bibliothek Reveal.js einfach in demselben Verzeichnis, in demyour_talk.slides.html befindet sich.
jupyter nbconvert myslides.ipynb --to slides --post serve
Die Markdown-Option konvertiert das Notebook in eine einfache Markdown-Ausgabe. Markdown-Zellen sind nicht betroffen, und Codezellen werden um 4 Leerzeichen eingerückt.
--to markdown
Sie können verwenden rstOption zum Konvertieren des Notebooks in die Ausgabe von Basic reStructuredText. Es ist nützlich als Ausgangspunkt für das Einbetten von Notizbüchern in Sphinx-Dokumente.
--to rst
Dies ist der einfachste Weg, um ein Python-Skript (oder eine andere Sprache, je nach Kernel) aus einem Notizbuch zu holen.
--to script
IPyWidgets ist eine Python-Bibliothek mit interaktiven HTML-Widgets für Jupyter-Notizbücher. Jedes UI-Element in der Bibliothek kann auf Ereignisse reagieren und bestimmte Ereignishandlerfunktionen aufrufen. Sie verbessern die interaktive Funktion der Jupyter-Notebook-Anwendung.
Um Widgets in das Notizbuch zu integrieren, müssen wir das folgende Modul wie unten gezeigt importieren:
from ipywidgets import widgets
Einige grundlegende IPyWidgets werden hier erklärt -
Text Eingabe
Das widgets.text()Funktion rendert Widgets im Notizbuch. Es ähnelt dem Textfeld-Formularelement in HTML. Das Objekt dieses Widgets haton_submit() Methode, die die Aktivität des Textfelds abhört und den als Argument angegebenen Ereignishandler aufrufen kann.
Taste
Dieses Widget ähnelt der HTML-Schaltfläche. Wenn Sie darauf klicken, wird das Ereignis von registrierton_click() Methode, die den Click-Event-Handler aufruft.
IntSlider
Ein Schieberegler, der die inkrementierenden Ganzzahlwerte anzeigt. Es gibt auch einen FloatSlider und einen IntRangeSlider (Ändern der Ganzzahl zwischen einem Bereich)
Etikette
Dieses Widget ist nützlich, um nicht bearbeitbaren Text im Notizbuch anzuzeigen.
Anzeige()
Diese Funktion von ipywidgets Das Modul rendert das Widget-Objekt in der Eingabezelle des Notebooks.
Interagieren
Diese Funktion rendert automatisch ein Widget, abhängig von der Art des Datenarguments. Das erste Argument für diese Funktion ist der Ereignishandler und das zweite ist ein Wert, der an den Ereignishandler selbst übergeben wird.
Das folgende Beispiel zeigt drei Beschriftungs-Widgets, zwei Text-Widgets und eine Schaltfläche mit der Überschrift "Hinzufügen". Wenn Sie auf die Schaltfläche klicken, wird die Summe der Zahlen in zwei Texteingabefeldern auf der untersten Beschriftung angezeigt.
Lassen Sie uns in diesem Kapitel verstehen, wie Sie mit QtConsole beginnen. Dieses Kapitel gibt Ihnen einen Überblick über diese Software und erläutert deren Installationsschritte.
Überblick
Die Qt-Konsole ist eine GUI-Anwendung ähnlich dem IPython-Terminal. Es bietet jedoch eine Reihe von Verbesserungen, die im textbasierten IPython-Terminal nicht verfügbar sind. Die Erweiterungsfunktionen sind Inline-Abbildungen, mehrzeilige Bearbeitung mit Syntaxhervorhebung, grafische Calltips usw. Die Qt-Konsole kann jeden Jupyter-Kernel verwenden, standardmäßig IPython-Kernel.
Installation
Jupyter QtConsole ist Teil des Projekts Jupyter. In der Anaconda-Distribution ist bereits eine QTconsole-Anwendung enthalten. Um es einzeln zu installieren, verwenden Sie den Befehl pip wie unten gezeigt -
pip3 install qtconsole
Sie können zu diesem Zweck auch den Befehl conda verwenden -
conda install qtconsole
Sie können die Jupyter-Konsole über den Anaconda-Navigator starten. Um es über die Befehlszeile zu starten, sollten Sie den folgenden Befehl verwenden, entweder über die Windows-Eingabeaufforderung oder die Anaconda-Eingabeaufforderung:
jupyter qtonsole
Sie erhalten ein Terminal ähnlich dem IPython-Terminal mit der ersten Eingabeaufforderung In []. Sie können jetzt jeden Python-Ausdruck genau wie im IPython-Terminal oder im Jupyter-Notizbuch ausführen
Die mehrzeilige Bearbeitung ist eine der Funktionen, die im IPython-Terminal nicht verfügbar sind. Drücken Sie, um mehr als eine Anweisung in eine einzelne Eingabezelle einzugebenctrl+enternach der ersten Zeile. Anschließend wird durch einfaches Drücken der Eingabetaste eine neue Zeile in derselben Zelle hinzugefügt. Um die Eingabe neuer Zeilen und die Ausführung der Zelle zu beenden, drücken Sie am Ende noch einmal die Eingabetaste. Die Zelle wird ausgeführt und die Ausgabe wird in der nächsten out [] -Zelle angezeigt.
Eine weitere wichtige Verbesserung von QtConsole ist die Möglichkeit, Inline-Grafiken, insbesondere Diagramme, anzuzeigen. Die Funktion funktioniert gut mit Matplotlib sowie anderen Plotbibliotheken.
Diese Option zum Speichern der QtConsole-Ausgabe als HTML-Datei ist im Menü Datei verfügbar. Sie können wählen, ob Sie eine Datei mit einem Inline-Bild oder die geplottete Figur als externe PNG-Datei in einem benachbarten Ordner (mit dem Namen qt_files) erstellen möchten.
Sie können mehr als eine Registerkarte in der Jupyter-Konsolenanwendung öffnen. Zu diesem Zweck stehen im Menü Datei drei Optionen zur Verfügung.
New Tab with New kernel - Mit diesem Dateimenü können Sie einen neuen Kernel laden.
New Tab with Existing kernel - Mit dieser Option können Sie neben dem IPython-Kernel aus weiteren Kerneln auswählen.
New Tab with Same Kernel- Dadurch wird ein Kernel-Slave erstellt, der auf einer bestimmten Registerkarte geladen ist. Auf das auf der Registerkarte Master initialisierte Objekt kann daher im Slave zugegriffen werden und umgekehrt.
Für die Verwendung mit Jupyter-Notebooks steht ein magischer Befehl% qtconsole zur Verfügung. Dadurch wird die QtConsole als Slave-Terminal für das Notebook-Frontend aufgerufen. Dadurch können Daten zwischen Notebook und Qtconsole-Terminal gemeinsam genutzt werden.
Sie können sehen, dass auf die Variable im Notizbuch innerhalb zugegriffen werden kann qtconsoleFenster. Außerdem wird in Notebook eine neue Variable in Qtconsole verwendet.
Beachten Sie, dass die Eingabe- und Ausgabezellen schrittweise zwischen den beiden nummeriert sind.
Sharing Jupyter notebook – Using github and nbviewer
Jupyter Notebook-Dateien mit .ipynbDie Erweiterung in einem GitHub-Repository wird beim Öffnen als statische HTML-Datei gerendert. Die interaktiven Funktionen des Notebooks, wie z. B. benutzerdefinierte JavaScript-Diagramme, funktionieren in Ihrem Repository auf GitHub nicht.
Melden Sie sich an, um eine Notebook-Datei mit github freizugeben https://github.comund erstellen Sie ein öffentliches Repository. Laden Sie dann Ihre Dateien über die Schaltfläche Datei hochladen wie unten gezeigt hoch -
Auf diese Weise können Sie die am Repository vorgenommenen Änderungen festschreiben. Dann zeigt das Repository die hochgeladene Datei wie folgt an:
Klicken Sie auf die hochgeladene Datei, um sie im Github Viewer anzuzeigen. Sie können die markierte URL für andere freigeben.
Eine andere Möglichkeit, die Notizbuchdatei online anzuzeigen, ist die Verwendung des Dienstprogramms nbviewer von Project Jupyter. Öffnenhttps://nbviewer.jupyter.org/und fügen Sie die URL der Datei in Ihrem Repository wie gezeigt in das Textfeld ein. Drücken Sie die Go-Taste, um das Notizbuch anzuzeigen.
Beide Methoden zeigen die Notebook-Datei als statisches HTML an. Um Code im Notizbuch ausführen zu können, öffnen Sie ihn mit der Binder-Anwendung des Jupyter-Projekts.
Im nbviewer-Fenster sehen Sie die Schaltfläche 'Auf Binder ausführen'. Klicken Sie darauf und Sie sehen, dass die Notebook-Datei genau so geöffnet wird, wie Sie sie über das lokale Dashboard des Notebook-Servers auf Ihrem lokalen Computer geöffnet haben. Sie können alle Aktionen wie Hinzufügen / Bearbeiten von Zellen, Ausführen der Zellen usw. ausführen.
Das Projekt Jupyter beschreibt JupyterLab als webbasierte Benutzeroberfläche der nächsten Generation für alle Produkte im Jupyter-Ökosystem. Sie können nahtlos und nahtlos mit Notebooks, Editoren und Terminals arbeiten.
Einige der wichtigen Funktionen von JupyterLab werden im Folgenden erläutert.
Die Codekonsole fungiert als Notizblock für die interaktive Ausführung von Code. Es bietet volle Unterstützung für umfangreiche Ausgaben und kann mit einem Notebook-Kernel verknüpft werden, um die Notebook-Aktivität zu protokollieren.
Jede Textdatei (Markdown, Python, R, LaTeX usw.) kann interaktiv in jedem Jupyter-Kernel ausgeführt werden.
Die Ausgabe von Notebookzellen kann auf einer eigenen Registerkarte oder zusammen mit dem Notebook angezeigt werden, wodurch einfache Dashboards mit interaktiven Steuerelementen ermöglicht werden, die von einem Kernel unterstützt werden.
Die Live-Bearbeitung von Dokumenten spiegelt sich in anderen Viewern wie Editoren oder Konsolen wider. Es ist möglich, eine Live-Vorschau von Markdown-, durch Trennzeichen getrennten Werten oder Vega / Vega-Lite-Dokumenten zu erhalten.
JupyterLab kann viele Dateiformate verarbeiten (Bilder, CSV, JSON, Markdown, PDF usw.). In diesen Formaten wird auch eine umfangreiche Ausgabe angezeigt. JupyterLab bietet anpassbare Tastaturkürzel und verwendet Tastenzuordnungen von vielen bekannten Texteditoren.
Sie können die Funktionen von JupyterLab vor der Installation online testen. Besuchhttps://jupyter.org/try und wählen Sie die Option "JupyterLab ausprobieren".
Auf der Registerkarte Launcher werden derzeit verfügbare Kernel und Konsolen angezeigt. Sie können ein neues Notebook basierend auf einem beliebigen von ihnen starten. Die linke Spalte enthält außerdem Registerkarten für den Dateibrowser, auf denen Kernel und Registerkarten sowie die Einstellungsansicht ausgeführt werden.
JupyterLab wird normalerweise automatisch mit der Anaconda-Distribution installiert. Es kann jedoch auch separat installiert werden, indem der folgende Befehl conda verwendet wird:
conda install -c conda-forge jupyterlab
Sie können zu diesem Zweck auch den Befehl pip verwenden -
pip3 install jupyterlab
Zum Starten der JupyterLab-Anwendung ist Anaconda Navigator am bequemsten, wenn sie installiert ist.
Starten Sie es alternativ über die Befehlszeile vom Windows / Linux-Befehlsterminal oder der Anaconda-Eingabeaufforderung mit diesem Befehl -
jupyter lab
In jedem Fall sieht der Startbildschirm der JupyterLab-Anwendung folgendermaßen aus:
Klicken Sie auf den gewünschten Kernel, um ein neues Notizbuch zu starten. Im obigen Screenshot ist ein Kernel zu sehen, der Python3-Kernel. Klicken Sie darauf, um ein Python-Notizbuch zu starten. Beachten Sie, dass die Funktionalität der in diesem Lernprogramm beschriebenen ähnlich ist.
Menüleiste
Die Menüleiste befindet sich oben im Fenster. Die Standardmenüs, die Sie hier finden, sind -
File - Aktionen in Bezug auf Dateien und Verzeichnisse.
Edit - Aktionen im Zusammenhang mit der Bearbeitung von Dokumenten und anderen Aktivitäten.
View - Aktionen, die das Erscheinungsbild von JupyterLab verändern.
Run - Aktionen zum Ausführen von Code in verschiedenen Aktivitäten wie Notizbüchern und Codekonsolen.
Kernel - Aktionen zum Verwalten von Kerneln, bei denen es sich um separate Prozesse zum Ausführen von Code handelt.
Tabs - Eine Liste der geöffneten Dokumente und Aktivitäten im Dock-Bereich.
Settings - Allgemeine Einstellungen und ein Editor für erweiterte Einstellungen.
Help - Eine Liste der JupyterLab- und Kernel-Hilfelinks.
In der linken Seitenleiste werden Schaltflächen zum Starten eines neuen Starters, zum Hinzufügen eines Ordners, zum Hochladen von Dateien und zum Aktualisieren der Dateiliste angezeigt. Der rechte Bereich ist der Hauptarbeitsbereich, in dem Notebook, Konsole und Terminals in der Registerkartenansicht angezeigt werden.
Um eine neue Konsole zu starten, klicken Sie in der linken Leiste auf das Symbol +, um einen neuen Starter zu öffnen, und klicken Sie dann auf die Konsolenoption. Die Konsole wird in einer neuen Registerkarte im rechten Bereich geöffnet.
Beachten Sie, dass sich die Eingabezelle unten befindet. Wenn sie jedoch ausgeführt wird, werden die Zelle und die entsprechende Ausgabezelle im oberen Teil der Registerkarte "Konsole" angezeigt.
Mit dem Launcher können Sie auch einen Texteditor und ein Terminal öffnen, in dem die IPython-Shell aufgerufen werden kann.
Project Jupyter unterstützt jetzt Kernel von Programmierumgebungen. Wir werden nun sehen, wie der R-Kernel in der Anaconda-Distribution installiert wird.
Geben Sie im Anaconda-Eingabeaufforderungsfenster den folgenden Befehl ein:
conda install -c r r-essentials
Wählen Sie nun auf der Registerkarte "Launcher" die Option "R-Kernel", um ein neues Notizbuch zu starten.
Das Folgende ist ein Screenshot eines Jupyter-Notebooks mit R-Kernel -