我有一个我编写的 Tkinter GUI 战舰游戏应用程序,我正在尝试将其转换为 .app 文件,以便我可以在 Mac OS X 计算机上轻松运行它。在 cd
到包含主 .py 文件和所有子文件(三个其他 python 文件、一个 json 文件和一个图标文件)的目录后,我正在执行以下命令:
pyinstaller --onefile --windowed --icon favicon.icns --name Battleship battleship.py
这会在“dist”文件夹中生成两个文件:Battleship
和 Battleship.app
。 Battleship.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/