在py2exe中帮助Tkinter

时间:2010-11-05 07:08:51

标签: python user-interface tkinter py2exe

我正在尝试使用py2exe将基本的tkinter GUI程序转换为.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 GUI程序会是什么样子?是否可以将输出.exe文件转移到我的桌面?

修改

错误报告说我从 {C:/Users/My_name/lib/tcl8.5} 中缺少 init.tcl 。所以我制作了那个目录并在那里放了 init.tcl 的副本。现在,当我尝试运行.exe时,它表示我的计算机缺少 MSVCR90.dll ,需要运行我的程序。

这也是Windows 7上的python 2.6.5。

1 个答案:

答案 0 :(得分:0)

Unix世界中的此类错误通常是由于错误的PATH设置或/和错误安装的第三方模块(您正在使用的GUI)。你看过这篇文章:py2exe fails to generate an executable吗?