Vous supprimez un module complet, mais l’import continue de fonctionner. Redémarrage de serveur, de machine. Suppression et ajout de ligne. Rien n’y fait, il est toujours là. Vous êtes fatigué, énervé, et vous appelez votre collègue pour lui montrer à quel point Python est complètement débile. Réplique sourire en coin, l’index taquin pointant vers les pixels de votre honte: t’as un fichier .pyc là.
Shit.
Vous pouvez toujours vous jurer que la prochaine fois on ne vous y prendra plus, vous vous ferez avoir à nouveau. C’est perfide un .pyc
, ça traine toujours dans un fatra de noms qui se ressemblent: settings.py
, local_settings.py
, common_settings.pyc
, prod_settings.py
, etc.
Soyez malin, soyez bourrin:
find . -name "*.pyc" -delete |
Purge complète des petits salopards, du larynx jusqu’au colon.
Et puisqu’être un bon informaticien, c’est avant tout être un bon feignant, autant le faire automatiquement quand on en a le plus besoin. Par exemple quand on change de branche sous git:
#!/bin/bash # remove pyc files and empty directories from the repo when switching branch # $3 = 1 if checkout aims a commit and not a file if [ $3 = 1 ] then # Start from the repository root. cd ./$(git rev-parse --show-cdup) # Delete .pyc files and empty directories. find . -name "*.pyc" -delete find . -type d -empty -delete fi |
À mettre dans votreprojet/.git/hooks/post-checkout
.
Dans la version 3 de Python les fichiers .pyc
seront groupés dans un seul dossier, et nettement plus faciles à nettoyer. En attendant, exprimez votre côté subtile, faites tout sauter.
Exellent…!
Allez fouillez vos disques et postez tous vos bouts de codes (commentés sinon rien…) Les pas finis, les buggés, les absurdes, et les autres.
Que ceux qui ne savent pas ce qu’est le “contenu” aillent faire un tour sur: “Justbasic/archives”, pour voir.
aie !
J’aime qu’on me parle comme ça :)
Très utile ton hook en tous cas, ça évite les erreurs à s’arracher les cheveux parce qu’il utilise une vieille version d’un pyc qui ne devrait plus exister.
Thx :)