Как упаковать демон Python с помощью setuptools

Как упаковать приложение Python с помощью setuptools, чтобы при его установке (например, через setup.py или pip) оно помещало скрипт-демон в соответствующее место, запускало его и отмечало, что оно автоматически запускается во время загрузки?

В моем случае мой код работает только с Linux, поэтому меня интересует только установка демона в среде Linux (в частности, в Ubuntu).

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

Я знаю, что Ubuntu и некоторые другие дистрибутивы хранят свои демоны в /etc/init.d, и я знаю, как использовать setuptools для копирования файлов в определенные места файловой системы, поэтому было бы безопасно копировать или ссылаться на мой скрипт в / etc / init.d, а затем запустите chkconfig, чтобы установить время выполнения, или есть более безопасный, не зависящий от распределения способ установки демонов?

1 ответ

Это было бы лучше сделать, создав соответствующий пакет для дистрибутива (в случае Ubuntu,.deb), поскольку вы не можете гарантировать расположение сценариев запуска в дистрибутивах. Например, arch linux использует /etc/rc.d/. Кроме того, копирование в такие места потребует root-доступа (что я не считаю обязательным для установки пакетов Python) и может не быть легко обратимым при удалении.

Я бы посоветовал вам создать обычную установку setupttools, а затем упаковать ее в deb со ссылкой на /etc/init.d.

Другие вопросы по тегам