使用cxfreeze时无法使用tkinter/python脚本设置值

Hol*_*way 11 python tk-toolkit tkinter cx-freeze

我用Python编写了一个带有tkinter GUI前端的程序.从脚本运行时没有问题.

我使用cx_freeze将它打包到exe文件中,并从那里运行它适用于大多数程序.但是,它有一个问题:当尝试为其中一个函数中的StringVar对象赋值时,会引发异常并终止程序.

当从程序中的不同点访问相同的功能时,它正常运行.知道什么可能是错的吗?

导致该问题的代码部分如下(我添加了消息框,以便我可以看到它失败的原因):

if keyDetail.get('default', False):
    try:
        self.entries[key].set(keyDetail['default'])
    except Exception as err:
        messagebox.showinfo('error', 'key: %s, default: %s, error: %s'%(key, keyDetail['default'], err))
Run Code Online (Sandbox Code Playgroud)

self.entries[key]是一个tk.StringVar.

运行此命令时,我在消息框中收到以下消息:

key: orderNo, default: Order Number, error: can't set "PY_VAR16:0"