python windows delphi deployment lazarus

¿Cómo implementar Python para usuarios de Windows?



delphi deployment (4)

Pronto lanzaré una aplicación beta y esto tiene la opción de crear scripts de integración personalizados en Python .

La aplicación se enfocará en Mac OS X y Windows, y mi problema es con Windows donde Python normalmente no está presente.

Mi enfoque actual es ejecutar silenciosamente la instalación de Python 2.6. Sin embargo, me enfrento al problema que no está activado de forma predeterminada y la ruta no se establece cuando se usan las opciones de la línea de comandos . Y me temo que si Python está instalado antes y actualizo a una nueva versión, esto podría romper algo más ...

Entonces, me pregunto cómo se puede hacer esto limpiamente. ¿Está bien si copio todo el directorio de Python 2.6, lo pongo en un subdirectorio de mi aplicación e instalo todo allí? O con virtualenv es posible ejecutar diferentes versiones de Python (si Python ya está instalado en la máquina).

También juego antes de incrustar Python con un DLL, y lo encontré fácil, pero perdí la capacidad de depurar, así que cambio a los complementos de la línea de comandos.

Ejecuto los complementos desde la línea de comandos y leo las salidas STDOUT y STDERR. La aplicación está hecha con Delphi / Lazarus. Instalo otros módulos como clientes JSON y RPC, Win32com, ORM, etc. Creo el instalador con bitrock .

ACTUALIZACIÓN: los usuarios finales son propietarios de pequeñas empresas, y los desarrolladores de Python crean los scripts. Quiero evitar cualquier paso adicional en la implementación, por lo que quiero una configuración completamente integrada.


Copie una carpeta de Python portátil de su instalador, en la misma carpeta que su aplicación Delphi / Lazarus. Establecer todos los caminos adecuadamente para eso.


Integre el intérprete de python en su aplicación Delphi con P4D . Estos componentes realmente funcionan, y también en ambas direcciones (las clases de Delphi expuestas a Python como extensiones binarias y el intérprete de Python dentro de Delphi). También vi un parche para la compatibilidad con Lazarus en la página de "problemas" del código de Google, pero parece que podría haber algunos problemas sin resolver allí.


Puede intentar usar py2exe . ¡Crea un archivo .exe con Python ya incluido!


Creo que no hay problema al combinar el empaquetado .EXE con una herramienta como PyInstaller o py2exe y los complementos escritos por Python. El .EXE creado puede detectar fácilmente dónde está instalado y el código que contiene puede simplemente import archivos de un directorio de complementos predeterminado. No olvide que una vez que haya empaquetado un script de Python en un ejecutable, también incluye el intérprete de Python en su interior, así que ahí lo tiene: un completo entorno de Python personalizado con su propio código.