在 Mac 上运行 Python tkinter 的图形界面时,有什么办法可以隐藏或最小化同步运行的 terminal 窗口?

2021-01-24 17:20:58 +08:00
 youthfire

只想通过 tkinter 上的按钮执行设计好的命令,不想出现黑色的终端窗口,求教

2468 次点击
所在节点    Python
23 条回复
youthfire
2021-01-25 12:00:03 +08:00
找到方法,并且试验成功
参考来源:
https://stackoverflow.com/questions/36864537/how-to-run-a-python-3-tkinter-app-without-opening-any-terminal-windows-in-mac-os

利用 Mac 自带的脚本编辑器(Script Editor)
新建脚本后输入如下:(替换掉自己的 py 文件路径即可)
do shell script "export LC_ALL=en_US.UTF-8; export LANG=en_US.UTF-8; /usr/local/bin/python3 '/Users/USER/FOLDER/SCRIPT.py' &> /dev/null &"

之前遇到过其中一段代码不执行,检查后发现,applescript 对路径的要求比 terminal(console)更高,找不到就直接不执行了,我的一个 sqlite lite 就是没指定路径(平时默认在 user 下,terminal 会直接找到,但这里脚本却不行)
参考来源:
https://developer.apple.com/library/archive/technotes/tn2065/_index.html#//apple_ref/doc/uid/DTS10003093-CH1-TNTAG1-MY_COMMAND_WORKS_FINE_IN_TERMINAL__BUT_WHEN_I_TRY_TO_USE_IT_IN_DO_SHELL_SCRIPT__I_GET_AN_ERROR_ABOUT____COMMAND_NOT_FOUND______WHAT___S_GOING_ON_

这样可以成功输出独立 app,且完全没有终端窗口影响.希望对遇到一样问题的朋友有帮助.
youthfire
2021-01-25 12:01:46 +08:00
补充一句,脚本编辑器编辑后,另存为程序,且注意存放路径(默认存储在脚本文件夹下,可以指定桌面等其他位置)
youthfire
2021-01-25 12:16:24 +08:00
@no1xsyzy 感谢建议,试了 1,结果是程序没有跑起来(包括 tkinter 的 gui 也没有加载),改回 env 就正常了.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/747906

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX