Convertir Python en Servicio: Ejecutar Scripts como Servicio de Windows

A muchas personas, incluido yo, nos gusta Python para automatizar tareas y crear APIs para utilidades de terceros. Pero desafortunadamente, arrastrar la biblioteca pywin32 solo para convertir Python en un Servicio no es lo ideal, especialmente cuando pywin32 por alguna razón entra en conflicto con un proyecto que no escribimos nosotros mismos.

Existen un par de buenas utilidades que resuelven este problema:

Pero cuando se necesita fiabilidad y despliegue rápido de scripts, pueden ser difíciles de usar.
Por estas razones, hoy les hablaré sobre EXE to Service, que apunta a una conversión en tres clics y fiabilidad.


Cómo Convertir Python en un Servicio de Windows

Paso 1: Abrir EXE to Service

Después de instalar EXE to Service, aparecerá un acceso directo en su escritorio.

La interfaz gráfica está destinada únicamente a simplificar la creación de servicios. Si está ejecutando Windows Server sin interfaz gráfica, tiene dos opciones:


Paso 2: Crear un Nuevo Servicio

EXE to Service ya incluye un ejemplo listo de Python a Servicio.

Simplemente haga clic en el botón "Crear desde ejemplo".

Convertir Python en Servicio


Paso 3: Establecer la Ruta a los Scripts de Python

En la ventana que aparece, debe especificar las rutas correctas:

Configuración de Python a Servicio


Paso 4: Guardar e Iniciar el Servicio

Haga clic en "Crear Servicio" para crear un servicio de Windows.

Si desea que el servicio se inicie inmediatamente en esta computadora, haga clic en "Iniciar".

Después de esto, Python:

En artículos futuros, explicaré cómo crear notificaciones y alertas para situaciones críticas en Python cuando tenga fugas de memoria y CPU.


Conclusión

Python fue desarrollado originalmente como un lenguaje de alto nivel y no está destinado a ejecutarse en servicios de Windows, pero herramientas como EXE to Service resuelven este problema de manera limpia. Envuelva su script .py en un shell, y se ejecutará al arrancar el sistema, persistirá después del cierre de sesión y se integrará con services.msc, sin necesidad de soluciones complicadas.


Descarga EXE_Service.msi y convierte cualquier .exe en un servicio de Windows en segundos.