2015-01-20 27 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