es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Después de convertir el script de Python a EXE, la ventana de mensaje se muestra como una versión antigua.

Creé un script utilizando Python y tkinter, e hice que la ventana mostrara un messagebox y se veía genial y moderna, pero por alguna razón, después de convertir el script a .exe utilizando cx_freeze, los message boxes se muestran como la versión antigua del messagebox de tkinter.

Aquí hay un ejemplo:

El lado izquierdo es la forma moderna y el lado derecho es después de convertir a exe.

Izquierda: antes de convertir a exe, derecha: después.

Aquí está mi setup.py:

from cx_Freeze import setup, Excutable

base = "Win32GUI"
executable = [Executable("project.py", base=base, icon='icon.ico')]

packages = ["idna", "math", "pandas", "tkinter", "os", "openpyxl"]
options = {
   'build_exe': {
       'packages': packages,
        'include_files': ['icon.ico']
    },
}

setup(
   name = "mi_nombre",
   options = options,
   version = "1.0.0",
   description = "des",
   executables = executables
)
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Es posible que la versión de tkinter que esté utilizando cx_freeze sea diferente a la que usó para desarrollar su script. Para solucionar este problema, puede intentar incluir explícitamente el módulo tkinter en la lista de includes en el diccionario options dentro del archivo setup.py.

    Pruebe agregar la siguiente línea al diccionario de options:

    'includes': ['tkinter']
    

    Esto garantizará que la versión correcta de tkinter esté incluida en el archivo ejecutable congelado.

Comments are closed.