py2exe中Tkinter的问题

时间:2010-10-15 18:51:22

标签: python tkinter tcl py2exe

我使用tkinter在python中创建了一个简单的GUI程序,并尝试使用py2exe将其转换为.exe。但是,我遇到了一个问题。当我尝试运行exe时,它会很快闪烁错误然后消失。所以我能做的最好的事情就是拍摄错误。

我该如何解决这个问题?

alt text

修改

Velociraptors,这是我的设置文件。它尽可能基本。我如何将 init.tcl 集成到代码中?

from distutils.core import setup
import py2exe

setup(console=[r'C:\Python26\Random Password Generator.py'])

3 个答案:

答案 0 :(得分:4)

您的setup.py脚本是否在init.tcl选项中包含data_files? py2exe list of options表示你应该如何包含图像和其他所需的数据文件。

修改

您的安装脚本指定您的程序应转换为控制台exe。如果你想要一个GUI程序(你使用的是Tkinter),你需要使用windows选项:

setup(windows=[r'C:\Python26\Random Password Generator.py'])

Py2exe应正确包含Tkinter的依赖项。如果没有,您可以手动添加init.tcl

setup(data_files=['C:\Python26\tcl\tcl8.5\init.tcl'],
      windows=[r'C:\Python26\Random Password Generator.py'])

答案 1 :(得分:0)

确保在C:\Users\splotchy\lib\tcl8.5C:\Users\lib\tcl8.5

中安装了tcl

如果要查看错误消息的时间更长,请从命令提示符运行程序。

答案 2 :(得分:0)

我在virutalenv网站上发现了一个错误,其中提出了以下https://github.com/pypa/virtualenv/issues/93

对于目录中的Windows“C:\ Environments \ VirtualEnv \ Scripts \ activate.bat”,只需添加设置为TCL的正确路径和python版本的TK

set "TCL_LIBRARY=C:\Python27\tcl\tcl8.5" 
set "TK_LIBRARY=C:\Python27\tcl\tk8.5" 
  

重新启动你的cmd或shell

我认为TCL的位置已经从默认位置发生了变化。