【发布时间】:2020-03-30 18:38:13
【问题描述】:
我今天寻求帮助,因为我是 Tkinter 和 Pyinstaller(以及一般的 python)的新手,但我遇到了麻烦。
我有一个简单的应用程序,它使用 sqlite、tkinter 和 pyinstaller 将所有这些编译到一个可执行程序中,我的程序的入口点是一个名为 main.py 的文件
此文件调用所有依赖项(如 python 的 sqlite 模块、tkinter 和我的其他文件,如类等......)
我制作了一个非常简单的界面,在 tkinter 标签中有一个 Hello World 和一个转到显示 page2 的页面 2 的按钮(也在标签中),只是想看看我是否有能力让它全部运行并将所有这些部分编译在一起。
我可以通过我的 shell 来运行它,例如:python main.py 并且一切正常。
但是当我在我的 linux 机器上运行 pyinstaller 并开始执行程序时,什么都没有出现,我的 database.db(sqlite 数据库文件)已创建,但我没有任何界面,就像我用 shell 运行它时那样。在 Windows 上情况变得更糟,一旦我拥有我的 .exe,它只会打开一个 shell 并在几秒钟后崩溃,甚至没有创建数据库。
我所做的是创建了一个“日志文件”,我在其中编写了程序的步骤。
正如您在下图中看到的,前 2 次打印已写入我的日志文件(在 linux 上),所以我认为当我尝试创建窗口时它会崩溃。
如果你们中有人知道我做错了什么,我将非常感谢帮助:)
【问题讨论】:
-
你必须看看它在
Window中不喜欢什么。 -
为了简单的调试目的(一般不推荐)你能把整个东西放在
try中吗?一旦出现错误,您可以将回溯 (traceback.format_exc()) 保存到文件中,从而找到您的问题。
标签: python tkinter pyinstaller