我正在尝试使用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。