Eine Funktionsnotiz, die nützlich ist, wenn Sie den Debugger aufrufen möchten, wenn beim Ausführen eines Python-Skripts ein Fehler auftritt.

Es ist eine Methode, um den Debugger von Ipyhoon.core zu verwenden, der stärker als pdb ist.

set_debugger.py


import sys

def set_debugger_org():
    if not sys.excepthook == sys.__excepthook__:
        from IPython.core import ultratb
        sys.excepthook = ultratb.FormattedTB(call_pdb=True)

def set_debugger_org_frc():
    from IPython.core import ultratb
    sys.excepthook = ultratb.FormattedTB(call_pdb=True)

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

Sie können `set_debugger_org_frc ()` usw. in der Hauptfunktion aufrufen.

Leider gibt es Zeiten, in denen es nicht gut in den Debugger gelangt.

Ich wurde von meinem Senior unterrichtet. Vielen Dank.

Recommended Posts

Eine Funktionsnotiz, die nützlich ist, wenn Sie den Debugger aufrufen möchten, wenn beim Ausführen eines Python-Skripts ein Fehler auftritt.
Python Hinweis: Wenn Sie die Attribute eines Objekts kennen möchten
Wenn Sie Wörter in Python zählen möchten, können Sie bequem Counter verwenden.
Was tun, wenn bei der Installation von Python mit pyenv eine Fehlermeldung angezeigt wird?
Wenn Sie einen Discord-Bot mit Python erstellen möchten, verwenden wir ein Framework
Was tun, wenn beim Laden eines mit Poesie erstellten Python-Projekts in VS Code ein Fehler auftritt?
Was tun, wenn der Fehler RuntimeError angezeigt wird: Python wird nicht als Framework installiert, wenn Sie versuchen, matplitlib und pylab in Python 3.3 zu verwenden
Was tun, wenn bei der Installation von Python 2 mit pyenv ein OpenSSL-Fehler auftritt?
Was tun, wenn beim Importieren von matplotlib in Python (Mac) eine Fehlermeldung angezeigt wird?
[Python] Wenn Sie plötzlich ein Anfrageformular erstellen möchten
Wenn Sie möchten, dass Ihre Kollegen dieselbe Sprache verwenden
Wenn Sie einen UNIX-Befehl in Python ausführen möchten
[Python] Wenn Sie Ihr eigenes Paket im oberen Verzeichnis importieren und verwenden möchten
Wenn Sie ein Argument in die Abschlussfunktion einfügen und später ausführen möchten
Was tun, wenn beim Ausführen von "certbot erneuern" in der CakePHP-Umgebung eine Fehlermeldung angezeigt wird?
Was tun, wenn beim Versuch, pip mit pyenv zu verwenden, ein undefinierter Fehler angezeigt wird?
[Python] Wenn Sie eine Datei mit demselben Namen wie das zu importierende Modul erstellen, tritt ein Attributfehler auf.
[Hinweis] [Einzeiliges Memo] Wenn Sie Python die Option -u hinzufügen, werden stdout und stderr ungepuffert. Praktisch, wenn es zum Abschlag geleitet wird
Schreiben Sie ein Skript in Shell und Python, um Sie in Slack zu benachrichtigen, wenn der Vorgang abgeschlossen ist
"Cython" -Tutorial, um Python explosiv zu machen: Wenn eine Funktion auf der C ++ - Seite überlastet ist.
Wenn Sie mehrere Versionen derselben Python-Bibliothek verwenden möchten (virtuelle Umgebung mit venv)
Wenn Sie einer Variablen in Python einen CSV-Export zuweisen möchten
[Python] Erklärt anhand eines Beispiels, wie die Formatierungsfunktion verwendet wird
Stellen Sie fest, ob beim Ausführen eines Python-Skripts eine Standardausgabe weitergeleitet wird
Über den Fehler, den ich beim Versuch, Adafruit_DHT von Python auf Raspberry Pi zu verwenden, festgestellt habe
Ein Hinweis, wenn Sie systemd verwenden, um CentOS 7 dazu zu bringen, immer Python-Skripte auszuführen, denen nicht besonders bewusst war, dass sie als Daemon ausgeführt werden
Wenn Sie nur die Dump-Datei des Servers abrufen möchten, war es praktisch, einen http-Server zu erstellen
[Django] Was tun, wenn beim Registrieren von Daten von der Verwaltungssite in die Datenbank ein Integritätsfehler auftritt?
Wenn Sie einen Singleton in Python möchten, stellen Sie sich das Modul als Singleton vor
[Python] Erklärt anhand eines konkreten Beispiels, wie die Bereichsfunktion verwendet wird
Wenn Sie es so verwenden möchten, wie es ist, wenn Sie es mit Lambda-Memo verwenden
Ein Gist-Repository, das Sie verwenden können, wenn Sie es mit ansible ausprobieren möchten
Wenn Sie awsebcli in CircleCI aufnehmen möchten, geben Sie die Python-Version an
[Python] Wenn Sie ein Streudiagramm mehrerer Cluster zeichnen möchten
Was tun, wenn beim Importieren von numpy mit VScode ein Fehler auftritt?
Was tun, wenn beim Laden von mnist eine Fehlermeldung angezeigt wird?
Python: Ich möchte die Verarbeitungszeit einer Funktion genau messen
Was tun, wenn beim Versuch, eine Nachricht in task.loop () unmittelbar nach dem Start zu senden, eine Fehlermeldung angezeigt wird?
[Python3] Code, der verwendet werden kann, wenn Sie ein Bild in einer bestimmten Größe ausschneiden möchten
[Python3] Code, der verwendet werden kann, wenn Sie die Erweiterung eines Bildes sofort ändern möchten
Problemumgehung, wenn beim Versuch, PySide mit pip zu installieren, eine Fehlermeldung angezeigt wird
Zwei Tools zur Dokumentenerstellung, die Sie unbedingt verwenden möchten, wenn Sie Python schreiben
Wenn Sie eine TODO-Anwendung (verteilt) jetzt nur mit Python erstellen möchten
Verwenden Sie PIL in Python, um nur die gewünschten Daten aus Exif zu extrahieren
Was tun, wenn in Sublime Text Python ein Unicode-Codierungsfehler auftritt?
Wenn in der Funktion eine Ausnahme auftritt, wird diese an den Anrufer 2 übertragen
[Python] Dinge, die überprüft werden müssen, wenn in Django ein Unicode-Dekodierungsfehler auftritt
Wenn beim Tippen einer interaktiven Shell mit Anaconda eine lange Fehlermeldung angezeigt wird
nb_conda_kernels wird empfohlen, wenn Sie die virtuelle Umgebung mit jupyter betreten möchten
Wenn in der Funktion eine Ausnahme auftritt, wird diese an den Anrufer 1 übertragen
Was tun, wenn im Selenium Chrome-Treiber ein Versionsfehler auftritt?
Installieren Sie die Python-Bibliothek, wenn Sie kein Sudoer sind (oder wenn Sie nicht möchten, dass neue Benutzer Sudoer sind, es Ihnen aber nichts ausmacht, die Python-Bibliothek einzuschließen).
Wenn Sie Word Cloud erstellen möchten.
Wenn Sie den Chrome-Treiber aktualisieren möchten.
Ich möchte die Aktivierungsfunktion Mish verwenden