problema con la compilación con cx_Freeze

Iniciado por yoelrodguez, 8 Agosto 2015, 00:15 AM

0 Miembros y 1 Visitante están viendo este tema.

yoelrodguez

Hola todos,  estoy compilando un programa que cree en Python 3.4 para obtener el número de serie del disco duro de la máquina. Cuando lo ejecuto a través del script desde la consola, se me ejecuta bien y me da el resultado que necesito pero cuando ejecuto el (.exe) que me crea después de la compilación me da  el siguiente error.



Este es el código

Código (python) [Seleccionar]

#Importamos la libreria OS para el trabajo de directory.
import sys
import os
#Obtenemos el número de serie del HDD.
def get_serial_number(volume=None):

   data = os.popen('vol '+'c:', 'r').read()
   data = data.split()
   cadena = str(data[len(data)-1:])
   return cadena.replace("['", "").replace("']", "").replace("-", "")

#Creamos el fichero y directory con el # de serie.
def grabartxt(serie_numero):
   
   #Cremos el directory si no existe.
   directoryPath = 'C:/Altus'
   if not os.path.exists(directoryPath):
       os.mkdir(directoryPath)

   #Escribimos el Fechero.
   directoryFile = directoryPath+"/Altus.txt"
   if not os.path.isfile(directoryFile):
       archi=open(directoryFile,'a')
       archi.write(str(serie_numero))
       archi.close()

grabartxt(get_serial_number())
#print(get_serial_number())


Eleкtro

#1
Tienes que incluir manualmente el módulo en el script de instalación de cx_freeze.

Prueba así:

setup.py
Código (python) [Seleccionar]
from cx_Freeze import setup, Executable

includes = ["subprocess"]

includefiles=[]

excludes = []

packages = []

target = Executable(
   # what to build
   script = "Tu Script.py",
   initScript = None,
   #base = 'Win32GUI',
   targetDir = r"dist",
   targetName = "test.exe",
   compress = True,
   copyDependentFiles = True,
   appendScriptToExe = False,
   appendScriptToLibrary = False,
   icon = None
   )

setup(
   version     = "1.0",
   description = "Description",
   author      = "Author",
   name        = "cx_Freeze Sample File",
   options     = {"build_exe": {"includes": includes, "excludes": excludes, "packages": packages}},
   executables = [target]
   )


Código (dos) [Seleccionar]
setup.py build

Saludos








yoelrodguez

Muchas gracias por la respuesta lo pruebo y le comento.

yoelrodguez

Le confirmo que me trabajo sin problema. Ahora quiero hacerle una consulta,  en caso que yo quiera compilar el programa hecho en python  para generar un ejecutable  .x32 para usarlo en director. Existe alguna forma para eso.

Saludos

Eleкtro

#4
Cita de: yoelrodguez en  8 Agosto 2015, 21:01 PMen caso que yo quiera compilar el programa hecho en python  para generar un ejecutable  .x32

Para compilar empacar un script a un binario x32 x86, debes usar la build x86 de cx_freeze.

Puedes mantener instalaciones separadas de 64 y 32 Bits de Python al mismo tiempo, y usarlas para esa finalidad.

Saludos