Beherrschung der umfangreichen Funktionen von IPython (2)

Zuvor Erläuterungen zu Verwenden der umfangreichen Funktionen von IPython und Verwenden von IPython Notebook 72d744554f0454139c0f), IPython-Notebook-Server starten Ich habe die Methode geschrieben.

Dieses Mal werde ich weiterhin über das Wechseln von Profilen, das Anpassen von Eingabeaufforderungen und die Verwendung des interaktiven Debuggers (pdb) schreiben. Interaktive Debugger sind besonders wichtig. Wenn Sie sie beherrschen, steigt Ihre Entwicklungsproduktivität dramatisch an.

Profilumschaltung

Sie können ein Standardprofil mit dem folgenden Befehl erstellen:

ipython profile create default

Dadurch wird ein Verzeichnis wie .ipython / profile_default an dem als Basisverzeichnis festgelegten Speicherort erstellt. Dieser Standardteil ist der Name des Profils.

Sie können hauptsächlich die folgenden Elemente im Profil festlegen.

Sie können den Profilnamen angeben, indem Sie beim Starten von IPython Optionen wie ipython --profile = default angeben. Weitere Informationen zu Profilen finden Sie in der Dokumentation (http://ipython.org/ipython-doc/2/config/intro.html#profiles).

Schnelle Anpassung

profile_default / ipython_config.py definiert die Gesamteinstellungen für die IPython-Shell-Eingabeaufforderung. Weitere Informationen zu dieser Datei finden Sie in der IPython-Dokumentation (http://ipython.org/ipython-doc/2/development/config.html#python-configuration-files).

In dieser Datei wird zuerst eine Instanz als c = get_config () erstellt, und die Umgebung wird durch Festlegen des Werts dieser Instanz festgelegt. In meiner Umgebung lautet die Eingabeaufforderung beispielsweise wie folgt.

c.PromptManager.out_template = r'[\#]: '
c.PromptManager.in2_template = r'{color.Green}[{color.LightGreen}\D{color.Green}]: '
c.PromptManager.in_template = r'{color.Yellow}\h{color.LightBlue}[{color.LightCyan}\T{color.LightBlue}]{color.Green}[{color.LightGreen}\#{color.Green}]: '

out definiert die Ausgabezeile, in2 definiert die Fortsetzungszeile und in definiert die Eingabezeile.

0.png

In der Konfigurationsdatei wird die c-Instanz für den Betrieb verwendet, aber der Befehl% config magic wird verwendet, um die Umgebung von der Shell aus zu betreiben.

Sie können sich auch auf Dokumentation beziehen, um die Eingabeaufforderung zu erweitern.

Im obigen Beispiel werden einige Bibliotheken vom Initialisierungsskript wie zuvor geschrieben importiert.

Magischer Befehl und Shell-Befehl

Befehle, die mit% beginnen, werden als magische Befehle bezeichnet. Wenn Sie nur% eingeben und eine Registerkarte eingeben, wird die Liste in der Tab-Vervollständigungsfunktion von IPython angezeigt. Beispielsweise zeigt% pwd das aktuelle Verzeichnis an. %, der die gültigen Instanz-Namespaces anzeigt.

hoge = "fuga"
%who
#=> hoge

Außerdem werden Befehle, die mit! Beginnen, als Shell-Befehle an die Shell übergeben.

Interaktiver Debugger

In IPython können Sie die Erweiterung von pdb Debugger verwenden. Der Befehl% debug debuggt die letzte aufgetretene Ausnahme. Sie können den Befehl% pdb so einstellen, dass der Debugger automatisch gestartet wird, wenn eine Ausnahme auftritt.

In der IPython-Dokumentation (http://ipython.org/ipython-doc/2/interactive/reference.html#using-the-python-debugger-pdb) wird auch die Verwendung von pdb beschrieben.

Wenn Sie die Funktionen set_trace () und debug () wie folgt definieren, können Sie set_trace () an eine beliebige Stelle in Ihrem Code schreiben, um die Ausführung zu stoppen und den Debugger zu starten.

def set_trace():
    from IPython.core.debugger import Pdb
    Pdb(color_scheme='Linux').set_trace(sys._getframe().f_back)

def debug(f, *args, **kwargs):
    from IPython.core.debugger import Pdb
    pdb = Pdb(color_scheme='Linux')
    return pdb.runcall(f, *args, **kwargs)

Sie können auch die Funktion debug () verwenden, um einen interaktiven Debugger für jede Funktion zu starten. Im folgenden Beispiel wird beispielsweise ein interaktiver Debugger für die Funktion f gestartet.

1.png

Drücken Sie in diesem Zustand beispielsweise a, um eine Liste der aktuellen Funktionsargumente anzuzeigen, drücken Sie w, um die Stapelverfolgung an der aktuellen Position anzuzeigen, drücken Sie s, um einzusteigen, und u / d, um den Funktionsaufrufstapel anzuheben oder abzusenken. Ich werde. Sie können auch Variablen anzeigen, beliebige Operationen hinzufügen usw.

Zusammenfassung

Eine solche interaktive Umgebung ist so praktisch und produktiv, dass Sie sie nicht mehr loslassen können, wenn Sie erst einmal gelernt haben, mit IPython zu entwickeln. Es ist keine Übertreibung zu sagen, dass IPython und Ihr Lieblingseditor für die Entwicklung in Python ausreichen.

Referenz

Einführung in die Datenanalyse mit Python http://www.oreilly.co.jp/books/9784873116556/

Recommended Posts

Beherrschung der umfangreichen Funktionen von IPython (2)
Beherrschen Sie die umfangreichen Funktionen von IPython
Über die Funktionen von Python
Ich habe einige der neuen Funktionen von Python 3.8 touched angesprochen
Bequeme Verwendung von Ipython
Der Beginn von cif2cell
der Zen von Python
Die Geschichte von sys.path.append ()
Funktionen der Go-Sprache
Hauptfunktionen von ChainMap
Rache der Typen: Rache der Typen
Messen Sie die Wichtigkeit von Features mit einem zufälligen Gesamtstrukturwerkzeug
Ich möchte die Natur von Python und Pip kennenlernen
Versuchen Sie, Merkmale von Sensordaten mit CNN zu extrahieren
Scraping das Ergebnis von "Schedule-Kun"
Die Geschichte des Baus von Zabbix 4.4
Auf dem Weg zum Ruhestand von Python2
Vergleichen Sie die Schriftarten von Jupyter-Themen
Merkmale der Programmiersprache [Memo]
Erläutern Sie den Code von Tensorflow_in_ROS
Verwenden Sie die Clustering-Ergebnisse erneut
GoPiGo3 des alten Mannes
Berechnen Sie die Anzahl der Änderungen
Die Popularität von Programmiersprachen
Ändern Sie den Stil von matplotlib
Visualisieren Sie die Flugbahn von Hayabusa 2
Über die Komponenten von Luigi
Verknüpfte Komponenten des Diagramms
Filtern Sie die Ausgabe von tracemalloc
Simulation des Inhalts der Brieftasche
Die Kraft der Pandas: Python
Erste Python ② Versuchen Sie, Code zu schreiben, während Sie die Funktionen von Python untersuchen
Informationen zur SystemChannels-API, um die plattformspezifischen Funktionen von Flutter zu nutzen