python - Tkinter Cxfreeze 错误

标签 python windows tkinter exe

我正在尝试用我在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 的人有什么建议吗?

最佳答案

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

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

关于python - Tkinter Cxfreeze 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3888011/

相关文章:

python - PyEnchant:使用个人单词列表拼写检查文本 block

windows - 更改 Windows 上可执行命令的顺序

c# - 等效于 C# 中的 "where"命令提示符命令

python - 当我透明背景颜色时也获取背景颜色

python - 由于运行时错误,一个测试用例失败

python - 方程对同一个变量返回不同的值

python - 如何将 Ubuntu 机器限制为 Python GUI?

python - 如何在阿拉伯语 tkinter Combobox 中编写标签?

python Selenium 元素不可见

linux - 为什么在 Windows > 8 上使用 CR LF 保存文件?