Как упаковать демон 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.