我一直在Mac OS X(带有Safari,Firefox和Chrome浏览器)上使用类似的代码,并且运行良好。猜测你可能正在使用Flask的自动重新加载功能。设置
debug=False,它将不会尝试自动重新加载。
其他建议,根据我的经验:
- 考虑随机使用你使用的端口,因为快速的编辑-运行-测试循环有时会发现OS认为端口5000仍在使用中。(或者,如果你同时运行几次代码(例如偶然),则该端口实际上仍在使用中。)
- 在启动浏览器请求之前,请先让该应用启动一小段时间。我通过调用来做到这一点
threading.Timer
。
这是我的代码:
import random, threading, webbrowserport = 5000 + random.randint(0, 999)url = "http://127.0.0.1:{0}".format(port)threading.Timer(1.25, lambda: webbrowser.open(url) ).start()app.run(port=port, debug=False)
(如果需要,这些都在
if __name__ == '__main__':或单独的“启动应用”功能下。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)