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

Postagens mais visitadas deste blog

Web2py com NGINX

Configurar o web2py no Apache e Ubuntu LTS

API RESTFul no web2py