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.
(https://imageshack.com/i/ip6rjaqqj)
Este es el código
#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())
Tienes que incluir manualmente el módulo en el script de instalación de cx_freeze.
Prueba así:
setup.py
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]
)
setup.py build
Saludos
Muchas gracias por la respuesta lo pruebo y le comento.
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
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