Pull to refresh

Comments 6

"Костыль + костыль + костыль"
В итоге получаем:
- более медленный запуск (pyinstaller + upx)
- отсутствие возможности использовать общие зависимости

Еще можно добавить, что страницы памяти будут выделятся не по требованию, и на каждый экземпляр запущенного приложения будет выделен как минимум объем памяти = размеру бинарника.

Спасибо за ответ, надеюсь в комментариях удастся собрать все плюсы и минусы, а также знающие люди предложат альтернативы, по типу Cython, Nuitka, PyOxidizer, py2exe.

И возможно узнаем правду, что же лучше использовать для таких задач, Go, Rust или всё же дальше мучать Python.

А как же без отладки скриптов правкой прямо в контейнере на проде? :(

На выходе мы получим образ с суммарным размеров всех слоев 952M, где 894M занимает базовый образ docker.io/python:3.9-bullseye.

А почему бы не взять более подходящий python:3.9-slim, python:3.9-alpine* или distroless gcr.io/distroless/python3?

*alpine не советую для python на проде, т.к. могут быть приключения.

Спасибо, учту в следующий раз при написании статей.
Взял первый попавшийся под руку образ, ведь итоговый получаем на базе scratch

На мой взгляд главные недостаток - отсутствие shell в контейнере. Крайне неудобно отлаживать и искать проблемы на проде.

Sign up to leave a comment.

Articles