2008-09-20 29 views
48

Necesito empaquetar mi aplicación python, sus dependencias y python en un único instalador MSI. El resultado final debe ser de manera deseable:¿Cómo agrupar una aplicación de Python incluidas las dependencias?

  • Python se instala en la ubicación estándar
  • el paquete y sus dependencias se instalan en un directorio independiente (posiblemente sitio paquetes)
  • el directorio de instalación debe contener la pitón sin comprimir y no se requiere un ejecutable independiente
+0

http://stackoverflow.com/questions/2933/how-can-i-create-a-directly-executable-cross-platform-gui-app-using-python – nbro

Respuesta

25

Tipo de dup de esta pregunta acerca de how to make a python into an executable.

Todo se reduce a:

py2exe en las ventanas, Freeze en Linux, y py2app en Mac.

+2

No es realmente un DUP. Esto es específico para el empaque. Ese otro tipo todavía no tiene idea.Pero bueno, eso es para la información sobre py2exe –

1

py2exe es la mejor manera de hacerlo. Es un poco de un PITA para usar, pero el resultado final funciona muy bien.

1

py2exe hará que los ejecutables de Windows con el pitón envuelta en.

16

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, consulte this question), 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 la pregunta this para conocer otras opciones.

4

Mi empresa utiliza 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.

3

He tenido resultados mucho mejores con las dependencias y las estructuras de carpetas personalizadas usando pyinstaller, y le permite buscar y especificar las importaciones ocultas y los enganches para dependencias más grandes como numpy y scipy. También un PITA, sin embargo.

0

Ok, he usado py2exe anteriormente 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/

+0

Proporcione más información sobre su solución. Explicar los términos, adjuntar enlaces externos si es necesario. –

+0

Disculpe, y es una forma simple como py2exe de convertir sus proyectos de python en un archivo jar ejecutable. Simplemente GoogleJjython rápido y es tan fácil como eso. –

+0

¿La última edición ayudó? –

Cuestiones relacionadas