W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
你可以在編輯器中連接調(diào)試器,例如使用 Visual Studio Code 或 PyCharm。
在你的 FastAPI 應(yīng)用中直接導(dǎo)入 uvicorn 并運(yùn)行:
import uvicorn
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
a = "a"
b = "b" + a
return {"hello world": b}
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)
__name__ == "__main__" 的主要目的是使用以下代碼調(diào)用文件時(shí)執(zhí)行一些代碼:
python myapp.py
而當(dāng)其它文件導(dǎo)入它時(shí)并不會被調(diào)用,像這樣:
from myapp import app
假設(shè)你的文件命名為 myapp.py。
如果你這樣運(yùn)行:
python myapp.py
所以,下面這部分代碼才會運(yùn)行:那么文件中由 Python 自動創(chuàng)建的內(nèi)部變量 __name__,會將字符串 "__main__" 作為值。
uvicorn.run(app, host="0.0.0.0", port=8000)
如果你是導(dǎo)入這個(gè)模塊(文件)就不會這樣。
因此,如果你的另一個(gè)文件 importer.py 像這樣:
from myapp import app
# Some more code
在這種情況下,myapp.py 內(nèi)部的自動變量不會有值為 "__main__" 的變量 __name__。
所以,下面這一行不會被執(zhí)行:
uvicorn.run(app, host="0.0.0.0", port=8000)
Info
更多信息請檢查 Python 官方文檔.
由于是從代碼直接運(yùn)行的 Uvicorn 服務(wù)器,所以你可以從調(diào)試器直接調(diào)用 Python 程序(你的 FastAPI 應(yīng)用)。
例如,你可以在 Visual Studio Code 中:
然后它會使用你的 FastAPI 代碼開啟服務(wù)器,停在斷點(diǎn)處,等等。
看起來可能是這樣:
如果使用 Pycharm,你可以:
然后它會使用你的 FastAPI 代碼開啟服務(wù)器,停在斷點(diǎn)處,等等。
看起來可能是這樣:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: