Limpando a sujeira para fazer backup
Boas meus caros a dica de hoje vai pra quem precisa fazer backup e está com problema com arquivos pyc.
Para quem não sabe o Python é interpretado e compilado, ou seja ele pode ser interpretado diretamente pelo script ou gerar arquivos pré-comprados como java e linguagens .Net.
O processo de interpretação pode possuir várias etapas, mas imagine que você precise falar com um estrangeiro, se você não conhece a língua falada você precisará de um interprete, certo.
Uma linguagem de script como o Python pode executar seus scripts diretamente ou criar arquivos bytecodes, que são arquivos pré-compilados (pré-traduzidos), esses bytecodes ajudam o interpretador a ganhar tempo na execução, assim, quando ele executar o código novamente ele não precisará traduzir rotina por rotina novamente, bastando apenas converter o bytecode para a linguagem de máquina.
Mas e o web2py?
Todos sabemos que o web2py guarda seu código python nativo na pasta modules e é ali que mora o problema quando falamos de backup.
Se você pretende manter no servidor de produção somente os arquivos .pyc isso não seria um problema. Mas caso precise lembre-se que o W2P irá gerar bytecodes de seus modules e isso pode dobrar o tamanho de sua aplicação.
No manual há algumas dicas de boas práticas como a de compilar o app no servidor de produção, tornando-se desnecessário manter os arquivos nas três pastas bases do frame, controllers, models e views.
ATENÇÃO! O app compilado funciona sem o conteúdo das pastas, mas não sem as pastas.
Além também da pasta gluon que contém o core do web2py, tudo que for python nativo será pre-compilado e sua aplicação dobrará de volume, principalmente no ambiente de desenvolvimento, onde é necessário manter os arquivos .py.
Até agora você só encheu linguiça!!!!
Não!!!!!
Como explanado acima, podemos resolver o problema no servidor (quando possível) mantendo apenas os arquivos compilados, mas e na máquina do desenvolvedor??
Na máquina do desenvolvedor você pode apagar os arquivos .pyc, 😊. No servidor também.
Como proceder
Se estiver no windows basta incluir o seguinte comando no seu script de backup para as pastas onde é preciso removê-los:
del /s *.pyc.
Se no Linux, isso usei no Ubuntu 18
find -iname "*.pyc" -delete
NOTA!
Esta dica não deve ser aplicada indiscriminadamente, se você possui arquivos .pyc que não devem ser apagados de jeito nenhum procure executar esse comando nas pastas onde ele é realmente necessário.
#fica_a_dica e até!
Comentários
Postar um comentário