Каким боком можно на питоне проверить, установлен ли пакет в дебиане, и если нет заинсталить ? Желательно что нибудь универсальное, т.к. пакетов проверить нужно много будет.
Идея конечно стремная, во время запуска это делать. Но если уж очень надо из питона делать, то можно просто через стандратный subprocess или любую другую библиотеку питона для работы с внешними процессами делать: 1) apt list --installed 2) прочекать в этом списке, если ли то чего надо 3) apt install — для всего чего нет в списке.
А вот если что-то универсальное и чтобы потом не иметь кучу проблем с самописным питонячим установщиком (а они точно будут), лучше на сервере перед запуска того софта сделать инсталляцию всего чего надо через ansible, аль любые другие аналоги. Ansible можно смело много раз запускать playbook. Он не будет лишний раз ничего ставить, если что-то стоит. Т.е. задача ансибла это с минимальными движениями привести систему в то состояние, что ты описываешь в playbook.
Обсуждают сегодня