2012-03-26 11 views
7

Tengo una aplicación basada en Python. Quiero distribuir esta aplicación a usuarios en diferentes sistemas operativos (principalmente Linux, pero varias distribuciones).Cómo distribuir aplicaciones compiladas "estáticamente compiladas" con dependencias

¿Cuál es la forma recomendada de hacer esto? No quiero que los usuarios tengan que instalar Python. Me gustaría distribuir Python con la aplicación (que es software libre). Un poco como un programa compilado estáticamente.

De modo que la instalación de toda la aplicación simplemente descomprime algunos archivos en una carpeta, y luego tanto Python (y los módulos utilizados) como la aplicación están contenidos en esta carpeta (incluidas las subcarpetas).

¿Cómo distribuyen otras personas sus programas de Python?

Es un requisito que la aplicación no se rompa si el usuario instala Python por su cuenta o actualiza una python existente. Es por eso que necesito distribuir una copia de Python junto con la aplicación.

Respuesta

1

O bien, consulte cx_freeze

Desde su página web:

Sobre cx_Freeze

cx_Freeze es un conjunto de scripts y módulos para la congelación de los scripts de Python en ejecutables, en de la misma manera que py2exe y py2app. A diferencia de estas dos herramientas, cx_Freeze es multiplataforma y debería funcionar en cualquier plataforma en la que Python trabaje. Es compatible con Python 2.3 o superior (incluido Python 3), ya que hace uso de la instalación de importación zip que se introdujo en 2.3.

3

Para Windows: py2exe es mi solución preferida; puedes construir un .exe todo en uno, incluidos los recursos.

Para Linux, ya sea:

  • construir un rpm y establezca Python como dependencia, o
  • Build un ejecutable c que integra pitón (DLL o libpython.so).
3

¿Cuál es la forma recomendada de hacerlo? No quiero que los usuarios tengan que instalar Python.

Por lo general, los programas de Python están 'empaquetados' con desutils e instalados para su uso con un intérprete de Python existente.

ver: Distributing Python Modules y Installing Python Modules

No es común para agrupar toda la intérprete dentro de la distribución de software (aunque ciertamente posible).

+0

Corey, estoy tratando de agrupar el intérprete de python dentro de mi distribución de software, ¿cómo recomendaría que vaya sobre cómo hacerlo? Gracias hombre. – Johnny

Cuestiones relacionadas