cx_Freeze ImportError: ne peut pas importer le nom
-
19-09-2019 - |
Question
Je suis en train de créer un exécutable pour Windows pour une application graphique à l'aide du module tkinter TTK. J'ai fait un exe avec cx_freeze, mais quand je lance l'application dans la console il me donne l'erreur suivante:
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
Voici les lignes 14 et 15 de mon code:
import tkinter as tk
import tkinter.ttk as ttk
La solution
On dirait cx_freeze ne se rend pas compte qu'il doit inclure le module tkinter._fix
, qui est conditionnelle importé par tkinter/__init__.py
. Vous pouvez lui dire d'inclure ce module explicitement l'argument de ligne de commande --include-modules
, ou l'argument mot-clé includes
à cx_Freeze.Executable
dans votre setup.py
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow