Si vous avez bien lu l’article sur pdb, vous devez être accroc à set_trace()
pour debugger vos programmes.
Oui mais quand votre programme plante, il faut lancer l’éditeur, trouver la ligne, faire un try
/except
, et en plus ramer si c’est dans une boucle.
On peut faire mieux. Si vous avez ipdb
et ipython
installés (et si ce n’est pas le cas, un pip install
les deux car on ne peut pas vivre sans), au lieu de lancer votre script ainsi:
python script.py |
Lancez le ainsi:
ipython --pdb script.py |
Et à la première exception, votre shell va directement s’ouvrir en mode debugger à la bonne ligne.
C’est pas merveilleux, ça ?
Ou, si vous avez lancé votre truc depuis ipython, utilisez “post-mortem” :
pdb.pm()
(à utiliser JUSTE après la dernière erreur)
wouaaah merci
faut que je teste ca vite
Et encore un gain de temps!
Merci les mecs! Et merci aux développeurs d’ipython!
Petite idée en passant: Vu que votre site regorge de petites astuces comme celles-ci et d’autres petits bouts de codes bien pratiques, ça pourrait être intéressant d’ouvrir une section “snippets”, ou bien “tips&tricks” sur S&M!
Les lecteurs pourraient vous filer un coup de main pour les repérer, ou pour vous en fournir directement.
Bon, je sais que vous avez déjà du boulot, c’est juste une idée comme ça…
C’est une bonne idée syl, et franchement l’envie de faire un peu plus qu’un blog me trotte dans la tête depuis quelques temps. Comme tu le dis, le temps pour le faire est le facteur qui sonne deux fois le plus important.
Ça pourrait se construire tout tranquillement, en comptant beaucoup sur la participation des lecteurs, via un bouton comme celui en haut à droite…ou bien un lien “Signaler un bout de code qui déboite” en bas d’articles.
Ça vous faciliterait un peu la tâche…mais bon, ça urge pas, vous avez déjà un moteur de recherche qui tourne plutôt bien, et avec des outils comme “Launchy” (pour Win/Linux) ou “QuickSilver” (pour Mac), ça reste vachement simple de retrouver une info sur S&M.