Y a-t-il un inconvénient à utiliser PYTHONDONTWRITEBYTECODE dans Docker?

9

Dans de nombreux tutoriels Docker basés sur Python (tels que: celui-ci ), ils utilisent l'optionPYTHONDONTWRITEBYTECODE afin de faire en sorte que Python évite d'écrire des fichiers .pyc lors de l'importation de modules source (cela équivaut à spécifier l'option -B).

Quels sont les risques et les avantages de la mise en place de cette option?

flottant
la source
pour réduire la taille de l'image
LinPy
3
Des inconvénients en termes de performances?
floatingpurr le

Réponses:

3

Lorsque vous exécutez un seul processus python dans le conteneur, ce qui ne génère pas lui-même d'autres processus python pendant sa durée de vie, il n'y a aucun "risque" à le faire.

Le stockage de code d'octets sur le disque est utilisé pour compiler python en code d'octets juste lors de la première invocation d'un programme et de ses bibliothèques dépendantes pour enregistrer cette étape lors des invocations suivantes. Dans un conteneur, le processus s'exécute une seule fois, il est donc judicieux de définir cette option.

hek2mgl
la source
Le message à retenir est donc que cette option est utile et sûre 99% du temps dans le cas d'un projet Docker. Droite?
floatingpurr
1
Comme je l'ai dit, c'est bien si vous ne générez pas d'autres processus python que le processus conteneurisé lui-même pendant la durée de vie du conteneur.
hek2mgl