使用 cx_Freeze 创建可执行文件后不断收到“filedialog”错误

2024-04-09

我正在尝试使用 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 内部运行此脚本时,它可以完美地工作。我使用 cx_Freeze 使用 setup.py 文件创建一个可执行文件,如下所示:

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() 项等都可以工作。

对这个问题有什么想法吗?

谢谢你!


由于某种原因,我必须在我冻结的脚本中显式导入“filedialog”和“messagebox”子模块。

import tkinter.filedialog as fdialog
import tkinter.messagebox as msgbox
import tkinter

虽然“标签”、“按钮”、“框架”、“条目”等工作正常,但谁知道还必须以这种方式导入多少其他元素。希望这对某人有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 cx_Freeze 创建可执行文件后不断收到“filedialog”错误 的相关文章

随机推荐