Python脚本调用Streamlit重复打开浏览器窗口问题求助
解决Streamlit重复打开窗口的问题
先排查执行方式:
如果你是用streamlit run 你的主脚本.py来启动程序,必然会触发循环——Streamlit运行你的主脚本,主脚本又调用streamlit run打开新窗口,无限重复。直接改用python 你的主脚本.py执行即可。替换
os.system为subprocess管理子进程:os.system对进程的控制能力弱,换成subprocess.Popen能避免意外循环,代码示例:import subprocess import sys # 启动Streamlit后让主脚本直接退出 subprocess.Popen([sys.executable, "-m", "streamlit", "run", r"G:\Python\Projekte\Userausgabe\1.3_Userausgabe.py"]) sys.exit()检查目标脚本:
确认1.3_Userausgabe.py里没有重复调用启动Streamlit的代码,也没有导入你的主脚本(同目录下误导入会导致代码重复执行)。强制主进程退出:
如果sys.exit()无效,试试更彻底的进程终止:import os import sys os.system('streamlit run ' + r'G:\Python\Projekte\Userausgabe\1.3_Userausgabe.py') os._exit(0) # 直接终止当前进程,不会触发后续代码
内容的提问来源于stack exchange,提问作者Åsa
相关产品推荐
相关产品推荐

