Jupyter + FastAPI#
在 Jupyter 中运行 FastAPI 应用程序#
要在 Jupyter 中运行 FastAPI 应用程序,我们可以使用以下命令:
!pip install -q fastapi uvicorn
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return "Hi!"
如果您希望从已经运行的 async
环境中运行 uvicorn
,请改用 uvicorn.Server.serve()
(将以下代码添加到您的 Jupyter 笔记本中的新代码单元格中并执行它):
if __name__ == "__main__":
import asyncio
import uvicorn
config = uvicorn.Config(app)
server = uvicorn.Server(config)
await server.serve()
或者,获取当前事件循环(使用 asyncio.get_event_loop()
),并调用 loop.create_task()
在事件循环内为当前线程创建任务:
if __name__ == "__main__":
import asyncio
import uvicorn
config = uvicorn.Config(app, port=3000, reload=False,)
server = uvicorn.Server(config)
loop = asyncio.get_event_loop()
loop.create_task(server.serve())