如何在 Jupyter 中运行 FastAPI 应用程序#

在 Jupyter 中运行 FastAPI 应用程序#

要在 Jupyter 中运行 FastAPI 应用程序,我们可以使用以下命令:

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

在上面的代码中,使用 uvicorn.run() 函数来运行 FastAPI 应用程序。

使用 Jupyter 内嵌窗口运行 FastAPI 应用程序#

如果您希望从已经运行的 async 环境中运行 uvicorn,请改用 uvicorn.Server.serve() (将以下代码添加到您的 Jupyter 笔记本中的新代码单元格中并执行它):

import asyncio
import uvicorn

if __name__ == "__main__":
    config = uvicorn.Config(app)
    server = uvicorn.Server(config)
    await server.serve()

或者,获取当前事件循环(使用 asyncio.get_event_loop()),并调用 loop.create_task() 在事件循环内为当前线程创建任务:

import asyncio
import uvicorn

if __name__ == "__main__":
    config = uvicorn.Config(app)
    server = uvicorn.Server(config)
    loop = asyncio.get_event_loop()
    loop.create_task(server.serve())