Existe alguma desvantagem no uso de PYTHONDONTWRITEBYTECODE no Docker?

9

Em muitos tutoriais do Docker baseados em Python (como: este ), eles usam a opção PYTHONDONTWRITEBYTECODEpara fazer com que o Python evite gravar arquivos .pyc na importação de módulos de origem (isso equivale a especificar a opção -B).

Quais são os riscos e vantagens de configurar esta opção?

floatingpurr
fonte
para reutilizar o tamanho da imagem
LinPy 14/01
3
Alguma desvantagem em termos de desempenho?
floatingpurr

Respostas:

3

Quando você executa um único processo python no contêiner, que não gera outros processos python durante sua vida útil, não há "risco" de fazer isso.

O armazenamento do código de bytes no disco é usado para compilar o python no código de bytes logo após a primeira chamada de um programa e de suas bibliotecas dependentes para salvar essa etapa nas seguintes chamadas. Em um contêiner, o processo é executado apenas uma vez, portanto, definir essa opção faz sentido.

hek2mgl
fonte
Portanto, a mensagem que leva para casa é que essa opção é útil e segura 99% do tempo no caso de um projeto do Docker. Direita?
floatingpurr
11
Como eu disse, não há problema em você não gerar outros processos python além do próprio processo em contêiner durante a vida útil do contêiner.
hek2mgl 22/03