python - 使用 PyInstaller 转换为 .app 的 Tkinter 程序立即关闭

标签 python macos tkinter pyinstaller .app

我有一个我编写的 Tkinter GUI 战舰游戏应用程序,我正在尝试将其转换为 .app 文件,以便我可以在 Mac OS X 计算机上轻松运行它。在 cd 到包含主 .py 文件和所有子文件(三个其他 python 文件、一个 json 文件和一个图标文件)的目录后,我正在执行以下命令:

pyinstaller --onefile --windowed --icon favicon.icns --name Battleship battleship.py

这会在“dist”文件夹中生成两个文件:BattleshipBattleship.appBattleship.app 具有我在上述命令中指定的图标。

当我运行非 .app 文件(通过双击它)时,一个终端窗口打开,我的 Tkinter GUI 打开并完美运行(根据我所做的小测试)。但是,我希望 GUI 打开,而无需终端。

据推测,这也是生成 .app 文件的目的。但是,当我运行 .app 文件(通过双击它)时,它的图标仅在屏幕底部的应用程序栏中跳动几次,然后消失。没有打开实际窗口。

如何才能在双击 .app 文件时实际打开应用程序的 GUI(没有终端窗口)?

提前致谢。

注意:我使用的是 Python 3.5.1

最佳答案

RoberR 似乎在从 pyInstaller 构建应用程序时缺少一些必要的包,我建议您使用:

pyinstaller --onefile --icon favicon.icns --name Battleship battleship.py 

它将显示您的终端,您将能够弄清楚发生了什么,如果缺少包,请使用:

pyinstaller --onefile --hidden-imports=file_name --icon favicon.icns --name Battleship battleship.py

希望这能解决您的问题。

关于python - 使用 PyInstaller 转换为 .app 的 Tkinter 程序立即关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37689271/

相关文章:

python - Pandas :在一列中找到最小值,将包含该列的行写入新数据框

macos - 即使在可访问性中勾选了应用程序,AXIsProcessTrustedWithOptions 也不会返回 true

python - 生成多个菜单项,并在臀部列出列表

python - 提起一个 tkMessageBox

python - 如何使用 Tkinter 导入索引列为 "date"的 csv 文件

python - 使用 SSH 在 shell 中启动 Python 脚本

python - 在Django中的文本字段上禁用自动完成?

python - 使用另一个数组的索引索引一个 numpy 数组

c++ - boost 日志记录无法在 OSX 上编译

python - PyInstaller 创建 exe 文件时不显示 .png img