cx_Freeze ImportError: no puede importar el nombre
-
19-09-2019 - |
Pregunta
Estoy intentando crear un archivo ejecutable para Windows para una aplicación GUI en tkinter utilizando el módulo TTK. Hice un exe con cx_Freeze, pero cuando corro la aplicación en la consola me da el siguiente error:
D:\My Dropbox\python\SAR Calculator\src\dist_tk>
Traceback (most recent call last):
File "C:\Python31\lib\site-packages\cx_Freeze\
7, in <module>
exec(code, m.__dict__)
File "sarcalc_tk.py", line 14, in <module>
File "C:\Python31\lib\tkinter\__init__.py", li
from tkinter import _fix
ImportError: cannot import name _fix
Estas son las líneas 14 y 15 de mi código:
import tkinter as tk
import tkinter.ttk as ttk
Solución
Parece que cx_Freeze no se da cuenta que debe incluir el módulo tkinter._fix
, que es condicionalmente importado por tkinter/__init__.py
. Se puede decir que para incluir ese módulo explícitamente con el argumento --include-modules
de línea de comandos, o el argumento de palabra clave includes
a cx_Freeze.Executable
en su setup.py
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow