Empaquetando programas de Python para Windows

Descripción

En esta receta se muestra como:

Ver adjuntos:

Requerimientos:

Ejemplo

Como ejemplo tomamos una aplicación simple hola.py:

# -*- coding: iso-8859-1 -*-

print "hola mundo"

"Compilando" Python con Py2Exe

Py2Exe empaqueta los archivos necesarios para ejecutar la aplicación sin necesitad de instalar Python ni sus dependencias.

Para crear el ejecutable es necesario crear un script de setup que extiende las utilidades de distribución de python (DistUtils), setup.py:

from distutils.core import setup
import py2exe

setup(console=['hola.py'])

Luego en la carpeta de la aplicación, por línea de comandos, ejecutamos este script:

python setup.py py2exe

Con lo que se generará una carpeta dist con los siguientes archivos:

Este directorio se puede comprimir en un zip y enviar, ya que es todo lo que se necesita para ejecutar la aplicación.

Nota: ver la salida de Py2Exe ya que algunas librerias del sistema operativo no pueden ser distribuidas y deben estar instaladas en la máquina destino.

Creando un instalador simple con 7-Zip

Con 7-zip se puede crear un único archivo comprimido autoextraible (ejecutable), con una muy buena tasa de compresión y de manera muy simple.

Para ello, ejecutar 7-Zip en la linea de comandos sobre la carpeta de la aplicación:

7z.exe a -sfx setup.exe dist

Con esto nos creará un archivo setup.exe que al ejecutarlo descomprimirá automáticamente la carpeta de nuestra aplicación. Este archivo contiene todo lo necesario para ejecutar la aplicación.

Este ejemplo usa la línea de comando, pero también se puede usar la interfase visual integrada al explorador de windows de 7-Zip (click derecho sobre la carpeta dist, en el menú contextual elejir 7-zip, añadir al archivo, y tildar opción "Crear archivo SFX")

Con 7- Zip también es posible:

Autor / Autores:

MarianoReingart


USLA