Un mémo de fonction utile lorsque vous souhaitez entrer dans le débogueur si une erreur se produit lorsque vous exécutez un script Python.

C'est une méthode pour utiliser le débogueur de Ipyhoon.core qui est plus fort que pdb.

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)

Vous pouvez appeler `` set_debugger_org_frc () '' etc. dans la fonction principale.

Malheureusement, il y a des moments où il n'entre pas bien dans le débogueur.

J'ai été enseigné par mon aîné. Je vous remercie.

Recommended Posts

Un mémo de fonction utile lorsque vous souhaitez entrer dans le débogueur si une erreur se produit lorsque vous exécutez un script Python.
Remarque Python: lorsque vous souhaitez connaître les attributs d'un objet
Si vous souhaitez compter les mots en Python, il est pratique d'utiliser Counter.
Que faire si vous obtenez une erreur lors de l'installation de python avec pyenv
Si vous voulez créer un bot discord avec python, utilisons un framework
Que faire si une erreur se produit lorsque vous chargez un projet Python créé avec de la poésie dans VS Code
Que faire si vous obtenez l'erreur RuntimeError: Python n'est pas installé en tant que framework lorsque vous essayez d'utiliser matplitlib et pylab dans Python 3.3
Que faire si vous obtenez une erreur OpenSSL lors de l'installation de Python 2 avec pyenv
Que faire si vous obtenez une erreur lors de l'importation de matplotlib en Python (Mac)
[Python] Si vous souhaitez soudainement créer un formulaire de demande
Si vous souhaitez que vos collègues utilisent la même langue
Lorsque vous souhaitez lancer une commande UNIX sur Python
[Python] Lorsque vous souhaitez importer et utiliser votre propre package dans le répertoire supérieur
Si vous voulez mettre un argument dans la fonction de fermeture et l'exécuter plus tard
Que faire si vous obtenez une erreur lors de l'exécution de "certbot renouveler" dans l'environnement CakePHP
Que faire si vous obtenez une erreur non définie lorsque vous essayez d'utiliser pip avec pyenv
[Python] Si vous créez un fichier avec le même nom que le module à importer, une erreur d'attribut se produira.
[Note] [Mémo d'une ligne] Si vous ajoutez l'option -u à Python, stdout et stderr deviennent sans tampon. Pratique lorsqu'il est raccordé au tee
Écrivez un script dans Shell et Python pour vous avertir dans Slack lorsque le processus est terminé
Tutoriel "Cython" pour rendre Python explosif: Lorsqu'une fonction côté C ++ a une surcharge.
Lorsque vous souhaitez utiliser plusieurs versions de la même bibliothèque Python (environnement virtuel utilisant venv)
Si vous souhaitez affecter une exportation csv à une variable en python
[Python] Explique comment utiliser la fonction format avec un exemple
Déterminer si la sortie standard est acheminée lors de l'exécution d'un script Python
À propos de l'erreur que j'ai rencontrée en essayant d'utiliser Adafruit_DHT à partir de Python sur Raspberry Pi
Une note lors de l'utilisation de systemd pour garder CentOS 7 toujours en cours d'exécution des scripts Python qui n'étaient pas particulièrement conscients de l'exécution en tant que démon
Si vous souhaitez simplement obtenir le fichier de vidage du serveur, il était pratique de créer un serveur http
[Django] Que faire lorsqu'une erreur d'intégrité se produit lors de l'enregistrement des données du site de gestion dans la base de données
Si vous voulez un singleton en python, considérez le module comme un singleton
[Python] Explique comment utiliser la fonction range avec un exemple concret
Lorsque vous souhaitez l'utiliser tel quel lorsque vous l'utilisez avec lambda memo
Un référentiel essentiel à utiliser lorsque vous souhaitez l'essayer avec ansible
Si vous souhaitez inclure awsebcli dans CircleCI, spécifiez la version de python
[Python] Si vous souhaitez dessiner un diagramme de dispersion de plusieurs clusters
Que faire si une erreur se produit lors de l'importation de numpy avec VScode
Que faire si vous obtenez une erreur lors du chargement de mnist
Python: je souhaite mesurer proprement le temps de traitement d'une fonction
Que faire si vous obtenez une erreur en essayant d'envoyer un message dans tasks.loop () immédiatement après le démarrage
[Python3] Code qui peut être utilisé lorsque vous souhaitez découper une image dans une taille spécifique
[Python3] Code qui peut être utilisé lorsque vous souhaitez modifier l'extension d'une image à la fois
Solution de contournement si vous obtenez une erreur lors de la tentative d'installation de PySide avec pip
Deux outils de génération de documents que vous souhaitez absolument utiliser si vous écrivez python
Si vous souhaitez créer une application TODO (distribuée) maintenant en utilisant uniquement Python
Utilisez PIL en Python pour extraire uniquement les données souhaitées d'Exif
Que faire si une erreur de codage Unicode se produit dans Sublime Text Python
Si une exception survient dans la fonction, elle sera transmise à l'appelant 2
[Python] Choses à vérifier lorsqu'une erreur de décodage Unicode apparaît dans Django
Si vous obtenez une longue erreur lors de la tabulation d'un shell interactif avec Anaconda
nb_conda_kernels est recommandé si vous souhaitez entrer dans l'environnement virtuel avec jupyter
Si une exception survient dans la fonction, elle sera transmise à l'appelant 1
Que faire si une erreur de version se produit dans le pilote Selenium Chrome
Installez la bibliothèque python lorsque vous n'êtes pas un sudoer (ou si vous ne voulez pas que les nouveaux utilisateurs soient Sudoer, mais cela ne vous dérange pas d'avoir la bibliothèque Python incluse)
Si vous souhaitez créer Word Cloud.
Lorsque vous souhaitez mettre à jour le pilote Chrome.
Je souhaite utiliser la fonction d'activation Mish