我正在尝试使用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。
答案 0 :(得分:0)
Unix世界中的此类错误通常是由于错误的PATH设置或/和错误安装的第三方模块(您正在使用的GUI)。你看过这篇文章:py2exe fails to generate an executable吗?