tutorial - ¿Cómo agrupar una aplicación Python incluidas las dependencias?
the django project (7)
He obtenido mejores resultados con las dependencias y las estructuras de carpetas personalizadas mediante el uso de PyInstaller , y le permite buscar y especificar importaciones ocultas y enlaces para dependencias más grandes, como numpy y scipy. También un PITA, sin embargo.
Necesito empaquetar mi aplicación python, sus dependencias y python en un único instalador MSI. El resultado final debería ser deseablemente:
- Python está instalado en la ubicación estándar
- el paquete y sus dependencias se instalan en un directorio separado (posiblemente paquetes de sitio)
- el directorio de instalación debe contener el python descomprimido y no se requiere un ejecutable independiente
Mi empresa usa la herramienta gratuita InnoSetup. Es un programa moderadamente complejo que tiene toneladas de flexibilidad para crear instaladores para Windows. Sin embargo, creo que crea archivos .exe y no .msi. InnoSetup no es específico de Python, pero hemos creado un instalador para uno de nuestros productos que instala python junto con dependencias a las ubicaciones especificadas por el usuario en el momento de la instalación.
Ok, he usado py2exe antes y funciona perfectamente excepto por una cosa ... Solo funciona en máquinas ejecutables de Windows. Luego aprendí sobre Jython que convierte un script de python en un archivo .Jar. Lo que, como saben, es ejecutable desde cualquier máquina que tenga instalado Java ("A su última versión en ejecución"). Lo cual es genial porque unix, windows e ios (la mayoría de las veces) ejecutan java. Eso significa que es ejecutable desde todas las máquinas siguientes. Mientras ejecuten Java. No es necesario "py2mac + py2exe + freeze" para ejecutar en todos los sistemas operativos. Solo Jython
Para obtener más información sobre cómo funciona y cómo puede usarlo, haga clic aquí.
http://www.jython.org/
Una especie de dup de esta pregunta sobre cómo hacer que una python se convierta en un ejecutable .
Se reduce a:
Utilizo PyInstaller (la versión svn) para crear una versión independiente de mi programa que incluye Python y todas las dependencias. Se necesita un poco de manipulación para que funcione correctamente e incluir todo (al igual que py2exe y otros programas similares, vea esta pregunta ), pero luego funciona muy bien.
Luego necesita crear un instalador. NSIS funciona muy bien para eso y es gratis, pero crea archivos .exe no .msi. Si .msi no es necesario, lo recomiendo encarecidamente. De lo contrario, consulte las respuestas a this pregunta para conocer otras opciones.
py2exe es la mejor manera de hacer esto. Es un poco de un PITA para usar, pero el resultado final funciona muy bien.
py2exe hará ejecutables de Windows con Python incluido.