__pycache__
é uma pasta contendo o bytecode do Python 3 compilado e pronto para ser executado .
Não recomendo excluir rotineiramente esses arquivos ou suprimir a criação durante o desenvolvimento, pois isso pode prejudicar o desempenho. Basta ter um comando recursivo pronto (veja abaixo) para limpar quando necessário, pois o bytecode pode ficar obsoleto em casos extremos (ver comentários).
Os programadores de Python geralmente ignoram o bytecode. Na verdade __pycache__
e *.pyc
são linhas comuns para ver em .gitignore
arquivos. O bytecode não se destina à distribuição e pode ser desmontado usando o dis
módulo .
Se você estiver usando o OS X, poderá ocultar facilmente todas essas pastas no seu projeto executando o seguinte comando na pasta raiz do seu projeto.
find . -name '__pycache__' -exec chflags hidden {} \;
Substitua __pycache__
por *.pyc
para Python 2.
Isso define um sinalizador em todos os diretórios (arquivos .pyc) informando ao Finder / Textmate 2 para excluí-los das listagens. É importante ressaltar que o bytecode está lá, está apenas oculto.
Execute o comando novamente se você criar novos módulos e desejar ocultar o novo bytecode ou se você excluir os arquivos ocultos do bytecode.
No Windows, o comando equivalente pode ser (não testado, script em lote bem-vindo):
dir * /s/b | findstr __pycache__ | attrib +h +s +r
O mesmo que percorrer as pastas ocultas do projeto usando o botão direito do mouse> ocultar ...
A execução de testes de unidade é um cenário (mais nos comentários) em que a exclusão de *.pyc
arquivos e __pycache__
pastas é realmente útil. Eu uso as seguintes linhas no meu ~/.bash_profile
e apenas corro cl
para limpar quando necessário.
alias cpy='find . -name "__pycache__" -delete'
alias cpc='find . -name "*.pyc" -delete'
...
alias cl='cpy && cpc && ...'