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.
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).
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.
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.
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.
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.
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.
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.
Einführung in die Datenanalyse mit Python http://www.oreilly.co.jp/books/9784873116556/
Recommended Posts