2015-01-20 42 views
1

我正在为一些同事写一个本地运行的小瓶驱动的Web应用程序。他们不是超级技术人员,所以我希望他们只需双击一个链接即可运行shell脚本,该脚本将启动flask服务器,然后在其mac上打开localhost页面。外壳脚本开放瓶驱动的网页打开两个窗口

我创建了一个简单的文件start

python server.py 
open http://localhost:5000 

但它会弹出打开两个网页 - 首先是本地主机(但有一个“无法连接”的消息),然后再在本地主机与它一起工作。很奇怪!

我试着用python中webbrowser模块,但是这有同样的效果:

if __name__ == '__main__': 
    app.debug = True 
    webbrowser.open("http://localhost:5000/") 
    app.run() 

,并把它算账:

if __name__ == '__main__': 
    app.debug = True 
    app.run() 
    webbrowser.open("http://localhost:5000/") 

只有在服务器关闭打开的页面。

任何想法?我想他们可以关闭非工作页面,但它不是非常流畅的功能。

+0

我需要这个功能好。我无法使用下面的答案。他们也没有被接受。你找到了一种方法来完成这项工作? – skr 2016-04-22 18:54:49

回答

0

app.run()在功能和'__main__'启动该功能作为新的线程。然后打开的浏览器

0

这可能为时已晚,但我需要相同的功能和清盘在本页面还...

我想到这一点,并通过消除过程中我尝试添加了 use_reloader=False flag 到我的 app.run()

问题现在已消失,但我可以通过控制台跟踪它已关闭调试器。如果你不关心它,那么这可能工作...

这是对我工作......

if __name__ == '__main__': 
    os.system("open http://localhost:8080") 
    app.run(
      '0.0.0.0', 
      port=8080, 
      debug=True, 
      use_reloader=False, # <== use False and get one tab...but no debug output