人工智慧 flask的除錯

2021-09-28 23:23:55 字數 1604 閱讀 8792

乙個最小的應用

乙個最小的 flask 應用如下:

from flask import flask

'/')

defhello_world()

:return

'hello, world!'

那麼,這些**是什麼意思呢?

首先我們匯入了 flask 類。 該類的例項將會成為我們的 wsgi 應用。

然後我們使用 route() 裝飾器來告訴 flask 觸發函式的 url 。

函式名稱被用於生成相關聯的 url 。函式最後返回需要在使用者瀏覽器中顯示的資訊。

把它儲存為 hello.py 或其他類似名稱。請不要使用 flask.py 作為應用名稱,這會與 flask 本身發生衝突。

現在在瀏覽器中開啟 ,應該可以看到 hello world! 字樣。

外部可見的伺服器

執行伺服器後,會發現只有你自己的電腦可以使用服務,而網路中的其他電腦卻 不行。預設設定就是這樣的,因為在除錯模式下該應用的使用者可以執行你電腦中 的任意 python **。

如果你關閉了偵錯程式或信任你網路中的使用者,那麼可以讓伺服器被公開訪問。 只要在命令列上簡單的加上 --host=0.0.0.0 即可:

$ flask run --host=0.0.0.0

這行**告訴你的作業系統監聽所有公開的 ip 。

如果伺服器不能啟動怎麼辦

假如執行 python -m flask 命令失敗或者 flask 命令不存在, 那麼可能會有多種原因導致失敗。首先應該檢查錯誤資訊。

老版本的 flask

版本低於 0.11 的 flask ,啟動應用的方式是不同的。簡單的說就是 flask 和 python -m flask 命令都無法使用。在這種情況有 兩個選擇:一是公升級 flask 到更新的版本,二是參閱《 開發伺服器 》,學習其他 啟動伺服器的方法。

除錯模式

(只需要記錄出錯資訊和追蹤堆疊?參見 應用錯誤處理 )

雖然 flask 命令可以方便地啟動乙個本地開發伺服器,但是每次應用** 修改之後都需要手動重啟伺服器。這樣不是很方便, flask 可以做得更好。如果你開啟 除錯模式,那麼伺服器會在修改應用**之後自動重啟,並且當應用出錯時還會提供乙個 有用的偵錯程式。

如果需要開啟所有開發功能(包括除錯模式),那麼要在執行伺服器之前匯出 flask_env 環境變數並把其設定為 development:

$ export flask_env=development

$ flask run

(在 windows 下需要使用 set 來代替 export 。)

這樣可以實現以下功能:

啟用偵錯程式。

啟用自動過載。

開啟 flask 應用的除錯模式。

還可以通過匯出 flask_debug=1 來單獨控制除錯模式的開關。

開發伺服器 文件中還有更多的引數說明。

attention

雖然互動偵錯程式不能在分布環境下工作(這使得它基本不可能用於生產環境),但是 它允許執行任意**,這樣會成為乙個重大安全隱患。因此, 絕對不能在生產環境 中使用偵錯程式 。

執行中的偵錯程式截圖:

screenshot of debugger in action

人工智慧簡史 人工智慧簡史

人工智慧簡史 在人工智慧的早期,計算機科學家試圖在計算機中重建人類思維的各個方面。這就是科幻 中的智力型別,即或多或少像我們一樣思考的機器。毫無疑問,這種型別的智慧型稱為可理解性。具有可理解性的計算機可用於探索我們如何推理,學習,判斷,感知和執行腦力活動。可懂度的早期研究集中於在計算機中對現實世界和...

人工智慧技術 Flask模板的使用 福州智慧型城市

views.py from flask import blueprint,render template zs blueprint blue name zs.route defindex namestr zhangsan dict1 strs1 福職 滴滴 return render templat...

人工智慧基礎 什麼是人工智慧

人工智慧是一門研究如何構造智慧型機器 智慧型計算機 或智慧型系統,使它們能夠模擬 延伸和拓展人類智慧型的學科。個人理解就是 研究人的智慧型,並且把人的智慧型放到機器上面,代替人思考。人工智慧發展簡史 孕育階段 1.亞里斯多德三段論 2.英國哲學家培根 知識就是力量。3.萊布尼茨 建立一種通用的符號語...