Underc0de

Programación Scripting => Python => Mensaje iniciado por: ProcessKill en Febrero 24, 2010, 04:05:36 PM

Título: [Tuto]Compilar *.py a *.exe (By: Ghost)
Publicado por: ProcessKill en Febrero 24, 2010, 04:05:36 PM
tutorial compilar *.py a *.exe
(Tutorial by Ghost)

(http://z3r0c0d3.files.wordpress.com/2007/04/python.thumbnail.jpg)

Bueno en este peque?o tutorial les voy a explicar como compilar un archivo *.py de python a *.exe, primero que nada veremos la pagina oficial del programa http://www.py2exe.org/ , luego lo descargamos d la siguiente direcci?n:

http://sourceforge.net/project/showfiles.php?group_id=15583

Empezemos con el procedimiento:


Paso 1

Primero que nada instalamos el py2exe en la maquina en el directorio donde quedo instalado el python; Una vez ya creado nuestro archivo que queremos compilar, creamos otro archivo *.py que contenga estas lineas :

Código (python) [Seleccionar]
from distutils.core import setup

import py2exe

setup(console=["nombre_de_archivo.py"])


Donde dice nombre_de_archivo lo cambiamos por el nombre del archivo a pasar a *.exe.

Paso 2

Ahora guardamos los dos archivo setup.py y nombre_de_archivo.py, en el directorio de instalaci?n de python que va a deender de la version...  entonces nos dirigimos a la consola de comandos Inicio > ejecutar > CMD

y nos dirigimos al directorio de instalaci?n de Python c:\python25> ( usando el comando cd.. para subir de carpeta y cd python25 para entrar o acceder a la carpeta, comandos basicos batch)

Una vez dentro del directorio en el cmd tecleamos la siguiente linea de comandos

c:\python25> setup.py py2exe

Lo que hara ser? ejecutar nuestro archivo setup.py y arrancar el py2exe para compilar

Despues al compilar nos aparecer? algo como esto:

running py2exe
*** searching for required modules ***
*** parsing results ***
creating python loader for extension 'zlib'
creating python loader for extension 'unicodedata'
creating python loader for extension 'bz2'
*** finding dlls needed ***
*** create binaries ***
*** byte compile python files ***
byte-compiling C:Tutorialbuildbdist.win32winexetempbz2.py to bz2.pyc
byte-compiling C:Tutorialbuildbdist.win32winexetempunicodedata.py to unicodedata.pyc
byte-compiling C:Tutorialbuildbdist.win32winexetempzlib.py to zlib.pyc
skipping byte-compilation of c:Python24libStringIO.py to StringIO.pyc

[skipping many lines for brevity]

skipping byte-compilation of c:Python24libwarnings.py to warnings.pyc
*** copy extensions ***
*** copy dlls ***
copying c:Python24libsite-packagespy2exerun.exe -> C:Tutorialdisthello.exe

*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.

Make sure you have the license if you distribute any of them, and
make sure you don't distribute files belonging to the operating system.

   ADVAPI32.dll - C:WINDOWSsystem32ADVAPI32.dll
   USER32.dll - C:WINDOWSsystem32USER32.dll
   SHELL32.dll - C:WINDOWSsystem32SHELL32.dll
   KERNEL32.dll - C:WINDOWSsystem32KERNEL32.dll


por ultimo el programa creara una carpeta en C:\python25\dist\ que es dodne se ha guardado nuestro *.exe compilado con todas librerias necesarias para ejecutarlo, ( queda bastante pesado o.o)
Título: Re:[Tuto]Compilar *.py a *.exe (By: Ghost)
Publicado por: ANTRAX en Marzo 09, 2010, 11:54:41 AM
Buenisimo aporte!! me viene de 10!! +Karma!!
Título: Re:[Tuto]Compilar *.py a *.exe (By: Ghost)
Publicado por: sergio_search en Septiembre 09, 2017, 02:06:17 PM
Hola, gracias por el aporte, solo una duda. Porqué al ejecutarlo dá un pantallazo y se cierra, se supune que debería quedar estático en mi uso un meú de opciones y solo veo pun instante y se cierra.
Título: Re:[Tuto]Compilar *.py a *.exe (By: Ghost)
Publicado por: noxonsoftwares en Septiembre 09, 2017, 02:18:39 PM
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
Hola, gracias por el aporte, solo una duda. Porqué al ejecutarlo dá un pantallazo y se cierra, se supune que debería quedar estático en mi uso un meú de opciones y solo veo pun instante y se cierra.

Hola....podrías Compartir un poco más de información como una parte del código...así sería más fácil porque lo primero que se me cruza es que tu menu sólo se muestra...no espera a que el usuario Ingrese un valor para leerlo y por ese motivo finaliza.....

funciona si lo ejecutar desde la consola?