【问题标题】:Tkinter Cxfreeze ErrorTkinter Cx_freeze 错误
【发布时间】:2011-04-22 17:27:44
【问题描述】:

我正在尝试用我在 Linux 中开发的 python 在 Windows 中制作一个 exe。该程序在 Windows 下的 python 中独立运行,当我使用 cxfreeze 时,它​​会完成并生成 exe。但是,当我运行它时,我得到:

C:\projects\0802001S\dist>listen.exe
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27
, in <module>
    exec code in m.__dict__
  File "./listen.py", line 425, in <module>
  File "C:\Python26\lib\lib-tk\Tkinter.py", line 1643, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, want
objects, useTk, sync, use)
_tkinter.TclError: Can't find a usable init.tcl in the following directories:
    C:/projects/0802001S/lib/tcl8.5 C:/projects/0802001S/lib/tcl
8.5 C:/projects/lib/tcl8.5 C:/projects/0802001S/library C:/projects/libr
ary C:/projects/tcl8.5.9/library C:/tcl8.5.9/library

这可能意味着 Tcl 没有正确安装。

然后,我在 C: 驱动器的 Python26 目录中查找 init.tcl,并将其复制到它建议的目录之一。然后给了我这个错误:

C:\projects\0802001S\dist>listen.exe
Traceback (most recent call last):
  File "C:\Python26\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27
, in <module>
    exec code in m.__dict__
  File "./listen.py", line 425, in <module>
  File "C:\Python26\lib\lib-tk\Tkinter.py", line 1643, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, want
objects, useTk, sync, use)
_tkinter.TclError: invalid command name "tcl_findLibrary"

在这一点上我似乎遇到了困难,并记得为什么我首先切换到 Linux。

更熟悉 Windows 的人有什么建议吗?

【问题讨论】:

    标签: python windows tkinter exe


    【解决方案1】:

    我刚刚遇到了类似的事情。到目前为止,我得出的结论是将 tcl8.5 和 tk8.5 复制到您正在运行 listen.exe 的目录(dist/build dir)中。

    我也在 cx_freeze 邮件列表中,有人提到该钩子可能仅在 Unix 上运行,因为在当前版本 (12/29/10) 之前它从未在 Windows 中进行过测试

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-14
      • 2021-09-08
      • 2020-07-11
      • 2019-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多