Estoy pensando en usar Python como lenguaje de scripting embebido en un proyecto de pasatiempo escrito en C++ . No me gustaría depender de la distribución de Python instalada por separado. La documentación de Python parece ser bastante clara sobre el uso general, pero no pude encontrar una respuesta clara a esto.Implementación de aplicaciones con Python u otro lenguaje de script incrustado
¿Es factible implementar un intérprete de Python + biblioteca estándar con mi aplicación? ¿Algún otro lenguaje como Lua, Javascript (Spidermonkey), Ruby, etc. sería mejor para este uso?
Aquí están los criterios que estoy un peso de los diferentes idiomas en contra:
- no pocas dependencias/de los paquetes instalados externamente
- biblioteca estándar con un buen conjunto de características
- lenguaje agradable :)
- Doesn no resultará en un enorme paquete de instalación
editar:
Supongo que la pregunta debería ser: ¿Cómo implemento mi propia biblioteca python + biblioteca estándar con el instalador de mi programa, para que no importe si la plataforma ya tiene python instalado o no?
edición2:
Una aclaración más. No necesito información sobre detalles de vincular el código de C y Python.
También se debe tener en cuenta que colocar los archivos python en un archivo zip también conlleva implicaciones de rendimiento. Obtiene un tamaño de instalación más pequeño, pero aumenta el tiempo de inicio. Esto se debe a que tiene que descomprimir y compilar los archivos cada vez que se inicia (no guardará un archivo pyc). –
¿Es posible simplemente distribuir archivos .pyc? ¿Qué pasará si tenemos archivos py (no comprimidos) en una ubicación a la que el usuario solo tiene acceso de lectura? –
En realidad, si crea el archivo usando zipfile.PyZipFile, solo archivará archivos .pyc. También puedes crear el archivo a mano. El tiempo de inicio se reduce porque el encabezado zip contiene una lista de todos los módulos presentes y su desplazamiento binario. –