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


 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Error al importar modulos standard con cx_freeze [PYTHON]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error al importar modulos standard con cx_freeze [PYTHON]  (Leído 1,425 veces)
Yidu

Desconectado Desconectado

Mensajes: 126


Ver Perfil
Error al importar modulos standard con cx_freeze [PYTHON]
« en: 14 Enero 2017, 21:16 »

Hola de nuevo!

Estoy haciendo alguna prueba con cx_freeze. Osea, para convertir archivos py a exe.

Con scripts sencillos me funciona. Por ejemplo (prueba_2.py):

Código
  1. for i in range(1, 100):
  2.    print(i)
  3. input()

Luego creo el script de cx_freeze (setup.py):

Código
  1. from cx_Freeze import setup, Executable
  2.  
  3.  
  4. setup(name = "Plantilla",
  5.      version = "0.1",
  6.      description = "Crear ejecutable",  
  7.      executables = [Executable("prueba_2.py")])

Esto me crea la carpeta build dentro del directorio de python. Y dentro de la carpeta build tengo el ejecutable prueba_2.exe y alguna carpeta mas.

El problema viene, cuando en algun script que creo, importo algun modulo. Por ejemplo, pickle. Creia que con esto bastaba:

Código
  1. from cx_Freeze import setup, Executable
  2.  
  3. build_exe_options = {"packages": ["pickle"]}
  4.  
  5. setup(name = "Plantilla",
  6.      version = "0.1",
  7.      description = "Crear ejecutable",  
  8.      options = {"build_exe": build_exe_options},
  9.      executables = [Executable("ejemplo.py")])

Pero no funciona. He leido algunos tutoriales pero sigue sin funcionar. Para construir el exe hago la tipica llamada:

Código
  1. C:\Python34>py setup.py build

Hay alguna plantilla de cx_freeze para poder utilizar los modulos standard de Python? En mi caso, la version 3.4


En línea

PUAROT

Desconectado Desconectado

Mensajes: 86



Ver Perfil WWW
Re: Error al importar modulos standard con cx_freeze [PYTHON]
« Respuesta #1 en: 15 Enero 2017, 00:25 »

Cuando importas módulos lo haces de la forma:
Código:
from modulo import *

Si es así prueba a importar las partes del modulo que utilizas, aunque sean varias del estilo :
Código:
from modulo import función


En línea

Yidu

Desconectado Desconectado

Mensajes: 126


Ver Perfil
Re: Error al importar modulos standard con cx_freeze [PYTHON]
« Respuesta #2 en: 15 Enero 2017, 18:36 »

Cuando importas módulos lo haces de la forma:
Código:
from modulo import *

Si es así prueba a importar las partes del modulo que utilizas, aunque sean varias del estilo :
Código:
from modulo import función


Hola!

Bueno, he importado asi los modulos por que asi lo decia la documentacion y ejemplos de cx_freeze. En cambio, en el script que queria convertir a *.exe, utilizaba el:

Código
  1. import pickle

De todas formas, pienso, que debe de ser algo que no configuro bien. Por que he visto algunos ejemplos de gente convirtiendo un juego hecho con pygame a ejecutable (exe). Y claro, el script de cx_freeze era bastante mas extenso.

En línea

PUAROT

Desconectado Desconectado

Mensajes: 86



Ver Perfil WWW
Re: Error al importar modulos standard con cx_freeze [PYTHON]
« Respuesta #3 en: 15 Enero 2017, 19:45 »

A mi me daba problema con Tkinter pero importando los módulos que necesitaba de tkinter como te indicaba antes y este script ,conseguí crear mi ejecutable:
Código:
import sys
from cx_Freeze import setup, Executable
base = None
if sys.platform == 'win32':
    base = 'Win32GUI'
options = {
    'build_exe': {
        'compressed': False,
        'includes': ['Aquí el nombre de un modulo que estaba importando creado por mi ']
    }
}

executables = [
    Executable('archivo.py', base=base)
]

setup(name='archivo',
      version='2',
      description='Prueba.',
      executables=executables,
      options=options
      )
 
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines