Pregunta

Actualmente, estoy desplegando una distribución completa de Python (el original Python 2.7 msi) con mi aplicación. Que es un servidor web incorporado realizado con Delphi.

La lectura de este , me pregunto si es posible incrustar los archivos necesarios pitón con mi aplicación, para disminuir archivos de carga y evitar conflictos con varias versiones de python.

Tengo experiencia previa con pitón para Delphi así que sólo necesito saber si envían solamente la pitón DLL + zIP con la distro + propios scripts funcionarán (y si existen advertencias debo saber o una muestra donde puedo mirar)

¿Fue útil?

Solución

zipimport debería funcionar bien para usted - No estoy familiarizado con Python para Delphi, pero lo dudo que deshabilita la funcionalidad (una aplicación incrustación puede hacer eso, pero es una elección inusual) . Sólo recuerde que lo que puede cerrar la cremallera e importar directamente los módulos son codificados en Python (o sólo sus correspondientes códigos de bytes o .pyc .pyo) - DLL (incluso si cambia su nombre por .pyds ;-) necesidad de estar en el disco para ser cargados (por lo si tiene un archivo zip con ellos tendrá que ser descomprimido en el inicio de la aplicación, por ejemplo, en un directorio temporal).

Por otra parte, usted no necesita ni siquiera a cerrar la cremallera de todos módulos, sólo a aquellos que realmente necesidad (por cierre transitivo) - y usted puede encontrar fácilmente exactamente qué módulos son aquellos, con el ModuleFinder módulo de la biblioteca estándar Python. El ejemplo de la página de documentación que acaba de señalar que debería aclarar las cosas. Feliz comprimir!

Otros consejos

Sí, es posible.

En realidad estoy escribiendo guión automatización en Python con el Zipimport library. De hecho, me incluyo todos los archivos .py en mi zip, así como archivos de configuración XML o que necesiten las personas guión.

A continuación, llamo a un archivo .command focalización una clase __main__.py que redirección hacia el guión deseado de acuerdo con los parámetros de mi sys.argv que es realmente útil!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top