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):
for i in range(1, 100):
print(i)
input()
Luego creo el script de cx_freeze (setup.py):
from cx_Freeze import setup, Executable
setup(name = "Plantilla",
version = "0.1",
description = "Crear ejecutable",
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:
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["pickle"]}
setup(name = "Plantilla",
version = "0.1",
description = "Crear ejecutable",
options = {"build_exe": build_exe_options},
executables = [Executable("ejemplo.py")])
Pero no funciona. He leido algunos tutoriales pero sigue sin funcionar. Para construir el exe hago la tipica llamada:
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
Cuando importas módulos lo haces de la forma:
from modulo import *
Si es así prueba a importar las partes del modulo que utilizas, aunque sean varias del estilo :
from modulo import función
Cita de: PUAROT en 15 Enero 2017, 00:25 AM
Cuando importas módulos lo haces de la forma:
from modulo import *
Si es así prueba a importar las partes del modulo que utilizas, aunque sean varias del estilo :
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:
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.
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:
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
)