我正在尝试使用 python 脚本中的 cx_Freeze 创建可执行文件,但似乎 tkinter 模块的某些部分没有加载到可执行文件中。脚本文件包含导入语句:
from tkinter import *
from tkinter.filedialog import askopenfile, asksaveasfile
from tkinter.messagebox import *
import subprocess
import time
在我的脚本中,我有一些看起来像这样的代码:
f_outfile = filedialog.asksaveasfile(initialdir=r'c:\Program Files (x86)\LTC\LTSpiceIV')
当我从 IDLE shell 内部运行这个脚本时,它可以完美运行。我使用如下所示的 setup.py 文件创建了一个带有 cx_Freeze 的可执行文件:
from cx_Freeze import *
setup(name="voltage_substate_GUI",
version="0.1",
description="test",
executables=[Executable("voltage_substate_GUI.pyw")],
)
可执行文件的创建没有任何问题,但是当我运行可执行文件时,我在控制台窗口中收到错误消息
NameError: name 'filedialog is not defined'
然而,创建 GUI 的脚本的其余部分似乎工作得很好——所有按钮都工作以及所有 Entry() 项目等。
对这个问题有什么想法吗?
谢谢!