我使用tkinter在python中创建了一个简单的GUI程序,并尝试使用py2exe将其转换为.exe。但是,我遇到了一个问题。当我尝试运行exe时,它会很快闪烁错误然后消失。所以我能做的最好的事情就是拍摄错误。
我该如何解决这个问题?
修改
Velociraptors,这是我的设置文件。它尽可能基本。我如何将 init.tcl 集成到代码中?
from distutils.core import setup
import py2exe
setup(console=[r'C:\Python26\Random Password Generator.py'])
答案 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.5
或C:\Users\lib\tcl8.5
。
如果要查看错误消息的时间更长,请从命令提示符运行程序。
答案 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的位置已经从默认位置发生了变化。