为什么Win10双击运行带tkinter界面的Python脚本会后台启动终端,如何关闭?
产生原因
Windows系统默认使用python.exe运行.py后缀的脚本,python.exe属于控制台程序,启动时会自动加载终端窗口用于输出运行日志、接收交互输入,和你编写的Tkinter GUI逻辑无关,属于Python运行环境的默认行为。
解决方案
方案1:修改脚本后缀(最简单)
直接把你的脚本后缀从.py改为.pyw,Windows会自动调用pythonw.exe运行该文件,pythonw.exe是专门适配GUI程序的运行器,启动时不会加载终端窗口,无需修改任何代码即可生效。
方案2:打包为exe时添加无终端参数
如果需要把脚本打包为可执行文件分发,使用PyInstaller打包时添加--windowed(或--noconsole)参数即可,示例打包命令:
pyinstaller --onefile --windowed 你的脚本名称.py
最终生成的exe文件运行时不会弹出终端窗口。
方案3:通过启动脚本调用
如果不想修改原脚本后缀也不需要打包,可以新建一个.bat格式的启动脚本,写入以下内容:
@echo off start pythonw.exe 你的脚本名称.py exit
双击运行这个bat文件即可启动GUI且不会残留终端窗口。
内容的提问来源于stack exchange,提问作者romainlavisse
相关产品推荐
相关产品推荐

