Есть ли какой-либо недостаток в использовании PYTHONDONTWRITEBYTECODE в Docker?

9

Во многих руководствах по Docker, основанных на Python (таких как: этот ), они используют эту опцию PYTHONDONTWRITEBYTECODE, чтобы заставить Python избегать записи файлов .pyc при импорте исходных модулей (это эквивалентно указанию опции -B).

Каковы риски и преимущества настройки этой опции?

floatingpurr
источник
уменьшить размер изображения
LinPy
3
Какие-то недостатки с точки зрения производительности?
FloatingPurr

Ответы:

3

Когда вы запускаете один процесс Python в контейнере, который не порождает другие процессы Python в течение своей жизни, тогда нет никакого «риска» в этом.

Хранение байт-кода на диске используется для компиляции python в байт-код сразу после первого вызова программы и ее зависимых библиотек, чтобы сохранить этот шаг при следующих вызовах. В контейнере процесс запускается только один раз, поэтому установка этой опции имеет смысл.

hek2mgl
источник
Таким образом, сообщение о том, что этот вариант полезен и безопасен в 99% случаев в случае проекта Docker. Правильно?
floatingpurr
1
Как я уже сказал, это нормально, если вы не порождаете другие процессы Python, кроме самого процесса в контейнере, во время жизни контейнера.
hek2mgl