关于py2exe中Tkinter的帮助

1 投票
1 回答
1224 浏览
提问于 2025-04-16 06:36

我正在尝试用py2exe把一个简单的tkinter图形界面程序转换成.exe文件。不过在使用下面的转换脚本时遇到了错误。

# C:\Python26\test_hello_con.py py2exe

from distutils.core import setup
import py2exe

setup(windows=[r'C:\Python26\py2exe_test_tk.py'])

C:\Python26\py2exe_test_tk.py的代码如下

import Tkinter as tk

root = tk.Tk()
root.title("Test")


label1 = tk.Label(root,text="Hello!",font=('arial', 10, 'bold'), bg='lightblue')
label1.pack(ipadx=100, ipady=100)


root.mainloop()

当我尝试运行新创建的.exe文件时,出现了这个错误

Traceback (most recent call last):
  File "py2exe_test_tk.py", line 4, in <module>
  File "Tkinter.pyc", line 1643, in __init__
_tkinter.TclError: Can't find a usable init.tcl in the following directories: 
    {C:/Users/My_Name/lib/tcl8.5} {C:/Users/My_Name/lib/tcl8.5} C:/Users/lib/tcl8.5 {C:/Users/My_Name/library} C:/Users/library C:/Users/tcl8.5.8/library C:/tcl8.5.8/library



This probably means that Tcl wasn't installed properly.

我很确定是我的转换脚本出了问题。我漏掉了什么吗?或者有没有人能给我一个tkinter图形界面程序的转换脚本示例?另外,能不能把生成的.exe文件放到我的桌面上?

编辑:

错误报告显示我缺少init.tcl,它应该在{C:/Users/My_name/lib/tcl8.5}这个路径下。所以我创建了这个目录,并把init.tcl的副本放在那里。现在当我尝试运行.exe时,它提示我缺少MSVCR90.dll,这个文件是运行我的程序所必需的。

另外,我使用的是Windows 7上的Python 2.6.5。

1 个回答

0

在Unix系统中,这种错误通常是因为PATH设置不正确,或者第三方模块安装得不对(你正在使用的那些图形界面模块)。你有没有看过这篇帖子:py2exe无法生成可执行文件

撰写回答