elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Convertir .py en .exe en Python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Convertir .py en .exe en Python  (Leído 5,057 veces)
Tuplado

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Convertir .py en .exe en Python
« en: 1 Agosto 2013, 20:30 pm »

Hola a todos/as

He terminado un juego en Python y ahora quiero convertirlo en .exe para correrlo en otros SS.OO (Windows, Linux, Mac...)

Utilice py2exe y realice todo el proceso que hay que hacer hasta crear la carpeta dist, pero cuando abro la carpeta y ejecuto el .exe, me sale un flash rapidísimo con una pantalla negra.

Lo que he utilizado
python 2.3 (Programa de Python)
pythong (IDE donde cree el juego)
py2exe (Convertidor a exe)

Alguien que sepa, me podría decir cual es el motivo por el cual no se me ejecuta el .exe

Ahh: y ya utilice el raw_input al final de las lineas del programa y no se ejecuta tampoco.

Un saludo y agradezco la ayuda


En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.788



Ver Perfil
Re: Convertir .py en .exe en Python
« Respuesta #1 en: 1 Agosto 2013, 20:44 pm »

Alguien que sepa, me podría decir cual es el motivo por el cual no se me ejecuta el .exe

Pues hombre, teniendo en cuenta que py2exe es una utilidad obsoleta ya que la última actualización del programa es del año 2008... segúramente sea un problema de compatibilidad, y más si estás usando py 3.X, no eres el único que tiene problemas con py2exe ni serás el último...

...Por eso te digo lo mismo que le he dicho a todo el mundo respecto a compilar en Python, olvida esa mierd@ de py2exe y prueba a utilizar -> cx-freeze <-

Cuéntanos si te funcionó :),
un saludo!


« Última modificación: 1 Agosto 2013, 20:46 pm por EleKtro H@cker » En línea

Tuplado

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Convertir .py en .exe en Python
« Respuesta #2 en: 1 Agosto 2013, 20:53 pm »

hola EleKtro H@cker

Vale lo voy a descargar, pero sera compatible con Python 2.3, porque aquí la versión más vieja es 2.6, y no se si habrá problemas de compatibilidad.

Como sería el proceso con este programa para hacerlo .exe, si no es mucha molestia me podrías decir o remitirme a alguna pagina que me lo expliquen.

Gracias
En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.788



Ver Perfil
Re: Convertir .py en .exe en Python
« Respuesta #3 en: 1 Agosto 2013, 20:57 pm »

pero sera compatible con Python 2.3

No puedo asegurartelo, solo lo he probado con py 2.7 y 3

En la misma página que te pasé tienes la documentación: http://cx-freeze.readthedocs.org/en/latest/script.html#script

Citar
Código:
cxfreeze hello.py --target-dir dist

Citar
Código:
--include-modules=NAMES

    comma separated list of modules to include
En línea

Tuplado

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Convertir .py en .exe en Python
« Respuesta #4 en: 1 Agosto 2013, 21:04 pm »

Gracias EleKtro H@cker, voy a probar con lo que me has facilitado.

Un saludo
En línea

0x5d

Desconectado Desconectado

Mensajes: 241



Ver Perfil WWW
Re: Convertir .py en .exe en Python
« Respuesta #5 en: 1 Agosto 2013, 22:16 pm »

I use Py2Exe
En línea

GingerCat

Desconectado Desconectado

Mensajes: 55



Ver Perfil
Re: Convertir .py en .exe en Python
« Respuesta #6 en: 1 Agosto 2013, 22:32 pm »

Citar
ahora quiero convertirlo en .exe para correrlo en otros SS.OO (Windows, Linux, Mac...)

Python sí es multiplataforma ya que Linux y Mac lo suelen traer instalado por defecto, en cambio los .exe solo los puedes ejecutar en un emulador en los otros S.O. y esto suele dar problemas.
Ten eso en cuenta si quieres usar el juego en otros sistemas operativos.
Un saludo.
En línea

La vida es aquello que te va sucediendo mientras tú te empeñas en hacer otros planes
Tuplado

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Re: Convertir .py en .exe en Python
« Respuesta #7 en: 5 Agosto 2013, 17:55 pm »

Hola EleKtro H@cker y GingerCat:

Mira hice lo que me dijistes, pero lo compile con cx_Free, parecido a py2exe

Me crea el .exe con windows en una carpeta llamada build

pero cuando abro el ejecutable desde la consola me lanza este fallo:

File "C:\Python26\Lib\site-packages\cx_Freeze\initscripts\Console.py" , line 27
, in <module>
exec code in m.__dict__

File "menu_libro_blanco.py", line 9, in <module>
File "C:\Python26\modulepythong.py", line 844, in <module>
   f=open(filename, "r")
IOError: [Errno 2] No such file or directory: "C:\\Python26\\build\\exe.win32-2.6
\\menu_libro_blanco"

Te facilito los 2 archivos el juego y el setup.py

JUEGO (menu_libro_blanco)

Código:
# MENU JUEGO
# ==========

# Importamos libreria de tiempo
import time
# Importamos todas las funciones del modulo (modulepythong)
from modulepythong import *
# Importamos todo el modulo random
import random

window_coordinates(0, 0, 400, 400) # GENERAMOS RESOLUCION
window_style("The Spaceship Game","black","TODO") # FONDO DE COLOR BLANCO

#-----------------------------------------------------------------------#

create_text(200,350,"The Spaceship Game",13.5,"CENTER","blue")
create_text(200,300,"_Easy level (E)",10,"CENTER")
create_text(200,250,"_Medium level (M)",10,"CENTER")
create_text(200,200,"_Hard level (H)",10,"CENTER")
create_text(200,150,"_Exit(X)",10,"CENTER")
 
#-----------------------NIVELES DE JUEGO--------------------------#
a = str("j")
while a != "x":
  window_style('The Spaceship Game','black','TODO') # FONDO DE COLOR BLANCO
  create_text(200,350,"The Spaceship Game",13.5,"CENTER","blue")
  create_text(200,300,"_Easy level (E)",10,"CENTER","white")
  create_text(200,250,"_Medium level (M)",10,"CENTER","white")
  create_text(200,200,"_Hard level (H)",10,"CENTER","white")
  create_text(200,150,"_Exit(X)",10,"CENTER","white")
 
  #--NIVEL FACIL--#
  if keypressed(2) == str("e"):
    print "Nivel facil"
    import time
    from modulepythong import *
    from math import sin, cos, pi
    window_style('The Spaceship Game','white','TODO') # FONDO DE COLOR BLANCO

    # Paisaje
    altura_paisaje = 400
    anchura_paisaje = 400
    window_coordinates(0, 0, anchura_paisaje, altura_paisaje)

    # Gravedad
    g = 0.00001

    # Nave
    tamanyo_nave = 10
    x = anchura_paisaje / 2
    y = altura_paisaje - 100
    vy = 0
    impulso_y = 2*g
    impulso_x = 0.00001
    vx = 0
    nave = create_filled_rectangle(x, y, x+tamanyo_nave, y+tamanyo_nave, 'blue')

    # Plataforma
    px = anchura_paisaje / 2
    py = 0
    vpx = .05
    anchura_plataforma = 40
    altura_plataforma = 3
    plataforma = create_rectangle(px, py,px+anchura_plataforma, py+altura_plataforma, 'red')

    # Tanque de combustible
    color = "green" # combustible lleno
    fuel = 1000
    consumo = 0.1
    rect_inicio = create_rectangle(0,altura_paisaje, 10, altura_paisaje-100, 'black')
    lleno = create_filled_rectangle(1,altura_paisaje, 9, altura_paisaje-fuel/10, color)
    create_text(25, altura_paisaje-8, '0%', 10, 'W')
    create_text(30, altura_paisaje-95, '100%', 10, 'W')

    # Dial de velocidad
    circulo = create_circle(anchura_paisaje-50, altura_paisaje-50, 50, 'black')
    for i in range(0, 360, 10):
      create_line(anchura_paisaje-50 + 40 * sin(i*pi/180), \
      altura_paisaje-50 + 40 * cos(i*pi/180), \
      anchura_paisaje-50 + 50 * sin(i*pi/180), \
      altura_paisaje-50 + 50 * cos(i*pi/180),)
      if i % 30 == 0:
        create_text(anchura_paisaje-50 + 30 * sin(i*pi/180), \
        altura_paisaje-50 + 30 * cos(i*pi/180), str(i), 5, 'CENTER')

        aguja = create_line(anchura_paisaje-50, altura_paisaje-50, \
        anchura_paisaje-50 + 50 * sin(0*pi/180), \
        altura_paisaje-50 + 50 * cos(0*pi/180),"black")

    facil = create_text(200,200,"Level Easy",12,"CENTER","blue")
    time.sleep(2)
    erase(facil)   
    # Simulacion
    while y > 0 and y < altura_paisaje and x > 0 and x < anchura_paisaje - tamanyo_nave:
      vy -= g
      if keypressed(1) == 'Up' and fuel > 0:
        vy += impulso_y
        fuel -= consumo
        if fuel < 350:
          color = "red" # combustible vaciandose
   
      elif keypressed(1) == 'Left' and fuel > 0:
        vx -= impulso_x
        fuel -= consumo
        if fuel < 350:
          color = "red" # combustible vaciandose
   
      elif keypressed(1) == 'Right' and fuel > 0:
        vx += impulso_x
        fuel -= consumo
        if fuel < 350:
          color = "red" # combustible vaciandose
     
      y += vy
      x += vx
      px += vpx
 
      if px <= 0 or px >= anchura_paisaje - anchura_plataforma:
        vpx = -vpx
      move(nave, vx, vy)
      move(plataforma, vpx, 0)

      viejo_lleno = lleno
      lleno = create_filled_rectangle(1,altura_paisaje, 9, altura_paisaje-fuel/10, color)
      erase(viejo_lleno)
      vieja_aguja = aguja
      aguja = create_line(anchura_paisaje-50, altura_paisaje-50, \
      anchura_paisaje-50 + 50 * sin(1000*vy*pi/180), \
      altura_paisaje-50 + 50 * cos(1000*vy*pi/180), 'black')
      erase(vieja_aguja)

    msg_x = anchura_paisaje/2
    msg_y1 = altura_paisaje/2
    msg_y2 = altura_paisaje/3

    if y >= altura_paisaje:
      create_text(msg_x, msg_y1, 'Perdiste', 24, 'CENTER')
      create_text(msg_x, msg_y2, 'Rumbo a las estrellas?', 12, 'CENTER')

    elif y <= 0 and vy < -0.1:
      create_text(msg_x, msg_y1, 'Perdiste', 24, 'CENTER')
      create_text(msg_x, msg_y2, 'Te has estrellado.', 12, 'CENTER')

    elif y <= 0 and \
    abs((px+anchura_plataforma/2)-(x+tamanyo_nave/2)) >= anchura_plataforma/2:
      create_text(msg_x, msg_y1, 'Perdiste', 24, 'CENTER')
      create_text(msg_x, msg_y2, ' !Que mala puntería!', 12, 'CENTER')

    elif x <= 0 or x >= anchura_paisaje - tamanyo_nave:
      create_text(msg_x, msg_y1, 'Perdiste', 24, 'CENTER')
      create_text(msg_x, msg_y2, 'Chocaste con la pared.', 12, 'CENTER')

    else:
      create_text(msg_x, msg_y1, 'Ganaste', 24, 'CENTER')
      create_text(msg_x, msg_y2, ' !Enhorabuena, piloto!', 12, 'CENTER')

    time.sleep(4)
    erase(nave)
    erase(plataforma)
    erase(rect_inicio)
    erase(lleno)
#-----------------------------------------------------------------#
  elif keypressed(2) == str("m"):
    print "Nivel medio"
     
  elif keypressed(2) == str("h"):
    print "Nivel dificil"
   
#-----------------------------------------------------------------#
         
  elif keypressed(2) == str("x"):
    print "Saliendo..."
    a = keypressed(2)
   

  else:
    error = create_text(200,50,"Error! Press another key",11,"CENTER","red")
    time.sleep(2) # Espera 2 segundos y borra el objeto(mensaje)
    erase(error)

   
print"salistes"

Setup(setup.py)

Código:
from cx_Freeze import setup, Executable


setup(
    name = "" ,
    version = "0.1" ,
    description = "" ,
    executables = [Executable("menu_libro_blanco.py")]
    )


Bueno, te digo he utilizado la librería modulepythong para la creación, y ya he compilado otros programas sin librería y los compila bien.

Te facilito URL de pythong
http://www3.uji.es/~dllorens/downloads/pythong/windows/

Te agradezco tu ayuda.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] ¿?convertir ascii a hex en python¿?
Scripting
nacho87 5 13,505 Último mensaje 26 Febrero 2009, 23:16 pm
por Novlucker
>>>>>>>>>>>>>>Convertir binarios en python<<<<<<<<<<<<<<<
Scripting
NIKOLAY7 3 9,565 Último mensaje 7 Enero 2013, 21:04 pm
por Karcrack
[Python] ¿Por qué Python 2.7.3 admite la sintaxis de Python 3? « 1 2 »
Scripting
Yidu 10 10,454 Último mensaje 10 Febrero 2013, 21:46 pm
por Eleкtro
[Python 2.7.3] ¿Cómo instalar un entorno visual para Python?
Scripting
Yidu 6 8,186 Último mensaje 25 Febrero 2013, 04:21 am
por The_Mushrr00m
[Python] Como convertir codigo de Python a .exe? « 1 2 »
Scripting
n1sen 10 6,893 Último mensaje 17 Agosto 2017, 16:07 pm
por daryo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines