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?


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.