Existe uma maneira de não mostrar os arquivos .pyc (bytecode do Python) sob o Nautilus?

4

Existe uma maneira de desativá-los em estruturas de diretórios no Nautilus? Meu projeto Django está ficando bastante confuso com eles.

    
por empedokles 17.07.2015 / 10:03

1 resposta

5

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.

    
por Oli 17.07.2015 / 10:13