Para o Django, o caminho mais rápido pode ser parar gerá-los em primeiro lugar .
Agora, isso pode soar como uma idéia terrível ... Pré-compilação de Bytecode é o que torna o Python tão rápido quanto é, então é definitivamente algo que você quer em produção, mas podemos desativar a geração de bytecode apenas para as coisas passam por manage.py
.
Abra e adicione uma linha sys.dont_write_bytecode = True
. Deve ser algo como isto:
#!/usr/bin/env python
import os
import sys
sys.dont_write_bytecode = True
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ap.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
Aviso: ap.settings
é específico do projeto meu , não seu, e o layout do arquivo pode ser diferente em sua versão do Django. Tenha cuidado se você copiar a coisa toda!
Os usos de produção (como por meio de um servidor wsgi) devem ignorar manage.py
e ainda gerar os arquivos de bytecode, mas o desenvolvimento - em que você tem maior probabilidade de usar ./manage.py runserver
- deve permanecer limpo.
Isso irá atrasar um pouco as coisas.
Ah e para limpar:
# Python 2
find /path/to/project -name '*.pyc' -type f -delete
# Python 3
find /path/to/project -name '__pycache__' -exec rm -rf {} +
Lembre-se de que ambas as instruções excluem arquivos , portanto, convém marcá-las (remova as instruções -delete
ou -exec ...
) antes de executá-las. Eles apenas mostram a você quais arquivos correspondem.