编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

FastAPI 环境安装和轻松入门(fastapi视频教程)

wxchong 2024-07-23 21:41:44 开源技术 15 ℃ 0 评论

FastAPI 框架是一个快速、无缝和强大的 Python 框架,但只能用于 Python 3.6及以上版本。

FastAPI 使用的异步服务器网关接口(ASGI)服务器使其成为当前最快的 Python 框架。uvicorn 服务器具有运行同步和异步服务的能力。


一、FastAPI和Uvicorn的关系

FastAPI 和 Uvicorn 之间的关系可以这样理解:


1. FastAPI: 这是一个用于构建 API 的现代、高性能的 web 框架,它基于 Python 3.6+。FastAPI 的主要特点是它非常快速,易于使用,而且具有很强的可扩展性。它使用 Python 类型提示(type hints)和 Pydantic 模型来验证数据,自动生成文档(如 Swagger),并提供依赖注入系统等功能。


2. Uvicorn: Uvicorn 则是一个轻量级、高性能的 ASGI(异步服务器网关接口)服务器,它用于运行异步Python web代码。Uvicorn 专门用于运行异步Python web应用,如由 Starlette 或 FastAPI 框架构建的应用。


FastAPI 和 Uvicorn 一起工作时,FastAPI 提供了创建 web 应用的框架和工具,而 Uvicorn 则作为服务器来运行这些应用。可以将 FastAPI 看作是构建应用的“蓝图”,而 Uvicorn 则是实际运行这些应用的“引擎”。


在实际使用中,开发人员编写 FastAPI 应用,然后使用 Uvicorn 来启动并运行这个应用。这种组合使得开发者能够快速构建高性能的异步web应用。


二、安装fastapi和uvicorn

如下命令是用于安装 FastAPI 和相关依赖的 Python 包。

pip install fastapi

pip install uvicorn[standard]

pip install python-multipart


Uvicorn 是一个轻量级的 ASGI(异步网关接口)服务器,用于运行 FastAPI 应用。[standard] 表示安装 Uvicorn 的标准版本,这个版本包括了一些额外的依赖,比如 uvloop 和 httptools,这些依赖可以提高应用的性能。


python-multipart 这个包用于处理 multipart 数据,这在文件上传等操作时非常有用。当需要通过 FastAPI 处理文件上传或者需要接收表单数据时,python-multipart 是必需的。


在安装和配置了基本工具、模块和IDE之后,现在我们开始使用框架进行第一个API的实现。


三、简单开发示例

下面示例将创建一个具有单个路由的基本 API,该路由在访问时返回一条欢迎信息。


# 导入 FastAPI
from fastapi import FastAPI

# 创建 FastAPI "app" 实例
app = FastAPI()

这将初始化 FastAPI 框架。应用程序需要从 fastapi 模块中实例化 FastAPI 核心类,并使用 app 作为对象的引用变量。

然后,此对象稍后将用作 Python @app 装饰器,该装饰器为我们的应用程序提供了一些功能,例如路由、中间件、异常处理器和路径操作。


# 创建一个路由
@app.get("/ch01/index")
def index():
 return {"message": "欢迎学习FastAPI入门! "}


上面是一个返回 JSON 对象的 GET API 服务方法。为了在本地运行我们的应用程序,我们需要执行以下命令:

uvicorn main:app --reload


该命令将通过 main.py 文件和FastAPI 对象引用将应用程序加载到 uvicorn 实时服务器,另外 --reload 选项,可以允许实时重新加载,从而在代码更改时重新启动开发服务器。



uvicorn使用localhost以默认端口8000运行应用程序,我们可以通过 http://127.0.0.1:8000/ch01/index 访问上述REST API ,要停止服务器,只需按Ctrl + C 键。


#冬日生活打卡季##文章首发挑战赛#

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表