Descripci贸n
En esta receta se muestra como:
Crear un ejecutable (.EXE) nativo para Windows (que no requiera tener Python instalado)
Generar un archivo autoextraible similar a un instalador (pero m谩s simple)
Ver adjuntos:
: aplicaci贸n de ejemplo
: script de "compilaci贸n" para py2exe
: instalador autoextraible producido con esta receta
Requerimientos:
7-Zip (opcional, para crear el archivo autoextraible)
Ejemplo
Como ejemplo tomamos una aplicaci贸n simple hola.py:
"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:
Luego en la carpeta de la aplicaci贸n, por l铆nea de comandos, ejecutamos este script:
Con lo que se generar谩 una carpeta dist con los siguientes archivos:
hola.exe: ejecutable
python25.dll: runtime de python
library.zip: librerias empaquetadas
y varios archivos m谩s dependiendo de la versi贸n y dependencias instaladas
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:
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:
Agregar un autoextractor gr谩fico (ventana m谩s amigable)
Modificar los mensajes y solicitar confirmaci贸n para extraer los archivos (mediante archivos de configuraci贸n)
Ejecutar un programa luego de extraer los archivos
Ejecutar un instalador propio (pero tiene que estar hecho en C)
etc.