Analysent le script/module et détectent les anomalies
pyflakes est un outil simple capable de détecter les erreurs de syntaxe, les fautes de frappe notamment dans les noms de variables, les imports manquants ou inutilisés. Il peut être intégré à l'EDI notamment à Vim :)
Dans son environnement virtuel python ou sur le système local:
$ pip install pyflakes
En ligne de commande, on peut invoquer pyflakes en passant en argument le nom du script à analyser:
$ pyflakes ./mon_script.py
Le module dis permet de désassembler le bytecode Python.
>>> import dis >>> def a(): ... Union[int,str] ... >>> dis.dis(a)
Produira sur la sortie standard:
2 0 LOAD_GLOBAL 0 (Union) 2 LOAD_GLOBAL 1 (int) 4 LOAD_GLOBAL 2 (str) 6 BUILD_TUPLE 2 8 BINARY_SUBSCR 10 POP_TOP 12 LOAD_CONST 0 (None) 14 RETURN_VALUE
Plusieurs manières d'utiliser le débogueur:
rencontrée ou invoqué
si c'est un script on peut lancer python en mode debug
$ python -m pdb ./mon_script.py
Quelques commandes usuelles:
Commande | Description |
---|---|
l | (list) affiche le code |
b | (break point) positionne un point d'arret sur une instruction ex: b 6 |
c | (continue), reprend l’exécution du programme jusqu’à un point d’arrêt, une erreur ou la fin. |
n | (next) exécute la prochaine instruction |
s | (step) exécute la prochaine instruction |
La liste des commandes est accessible via h ou help