cx_Freeze 导入错误:无法导入名称
我正在尝试为一个使用tkinter和ttk模块的图形界面应用程序创建一个Windows可执行文件。我用cx_freeze制作了一个exe文件,但当我在控制台运行这个应用时,出现了以下错误:
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
这是我代码中的第14和第15行:
import tkinter as tk
import tkinter.ttk as ttk
1 个回答
5
看起来 cx_freeze 没有意识到它应该包含 tkinter._fix
这个模块,而这个模块是由 tkinter/__init__.py
条件性导入的。你可以通过在命令行中使用 --include-modules
参数,或者在你的 setup.py
文件中使用 cx_Freeze.Executable
的 includes
关键字参数,明确告诉它包含这个模块。