2012-03-15 17 views
8

Cómo empaqueta una aplicación Python con setuptools para que cuando esté instalada (por ejemplo, mediante setup.py o pip), coloque un script daemon en la ubicación adecuada, lo inicie y marque para que comience automáticamente en el momento del arranque?Cómo empaquetar un demonio Python con setuptools

En mi caso, mi código solo funciona con Linux, por lo que solo me interesa instalar el daemon en entornos Linux (específicamente Ubuntu).

que he encontrado severalpostsdescribing cómo crear fácilmente demonios Python, pero me parece que no puede encontrar nada que describa cómo te instala en un entorno de producción a fin de que serían tratados como cualquier otro demonio de la normalidad o servicio

Sé que Ubuntu y algunas otras distribuciones mantienen sus daemons en /etc/init.d, y sé cómo usar setuptools para copiar archivos a ubicaciones específicas en el sistema de archivos, así que sería seguro copiar o enlazar mi script a /etc/init.d y luego ejecute chkconfig para configurar su tiempo de ejecución, o existe una manera neutral de distribución más segura de instalar daemons?

Respuesta

3

Esto se manejaría mejor creando un paquete apropiado para la distribución (en el caso de Ubuntu, a .deb) ya que no se puede garantizar la ubicación de los scripts de inicio en las distribuciones. Por ejemplo, arch Linux utiliza /etc/rc.d/. Además, copiar en ubicaciones como esa requerirá acceso raíz (que no creo que sea necesariamente necesario para instalar paquetes de Python) y puede que no sea fácilmente reversible al desinstalar.

Sugiero que cree una instalación normal de setupttools y luego la empaqueta en un deb con un enlace a /etc/init.d.

+0

Interesante. Aunque siempre * he * tenido que 'sudo' instalar paquetes de Python, entonces no creo que ser root sea un problema. – Cerin

+0

Puedo estar equivocado, pero creo que, al menos en Python3, puede instalarlo en una ubicación específica del usuario (por ejemplo, ~/.python o algo similar) – aquavitae

+0

Siempre puede usar virtualenv e instalar el paquete donde lo desee – Dikei

Cuestiones relacionadas