__pycache__
est un dossier contenant le bytecode Python 3 compilé et prêt à être exécuté .
Je ne recommande pas de supprimer régulièrement ces fichiers ou de supprimer la création pendant le développement car cela peut nuire aux performances. Ayez juste une commande récursive prête (voir ci-dessous) pour nettoyer en cas de besoin car le bytecode peut devenir périmé dans les cas marginaux (voir commentaires).
Les programmeurs Python ignorent généralement le bytecode. En effet __pycache__
et ce *.pyc
sont des lignes communes à voir dans les .gitignore
fichiers. Le bytecode n'est pas destiné à la distribution et peut être démonté à l'aide du dis
module .
Si vous utilisez OS X, vous pouvez facilement masquer tous ces dossiers dans votre projet en exécutant la commande suivante à partir du dossier racine de votre projet.
find . -name '__pycache__' -exec chflags hidden {} \;
Remplacez __pycache__
par *.pyc
pour Python 2.
Cela définit un indicateur sur tous ces répertoires (fichiers .pyc) indiquant au Finder / Textmate 2 de les exclure des listes. Surtout, le bytecode est là, il est juste caché.
Réexécutez la commande si vous créez de nouveaux modules et souhaitez masquer un nouveau bytecode ou si vous supprimez les fichiers de bytecode masqués.
Sous Windows, la commande équivalente peut être (non testée, bienvenue dans le script batch):
dir * /s/b | findstr __pycache__ | attrib +h +s +r
Ce qui revient à parcourir les dossiers de masquage du projet en utilisant un clic droit> masquer ...
L'exécution de tests unitaires est un scénario (plus dans les commentaires) où la suppression des *.pyc
fichiers et des __pycache__
dossiers est en effet utile. J'utilise les lignes suivantes dans mon ~/.bash_profile
et je cours juste cl
pour nettoyer en cas de besoin.
alias cpy='find . -name "__pycache__" -delete'
alias cpc='find . -name "*.pyc" -delete'
...
alias cl='cpy && cpc && ...'