fastapi介绍(一):fastapi简介+环境安装
2019-09-25 本文已影响0人
warmsirius
文档: https://fastapi.tiangolo.com
源码: https://github.com/tiangolo/fastapi
一、什么是fastapi?
FastAPI是一个现代的,快速(高性能)python web框架。基于标准的python类型提示,使用python3.6+构建API的Web框架。
The key features are:
fastapi的特点如下:
- 性能快:高性能,可以和NodeJS和Go相提并论。
- 快速开发:开发功能速度提高约200%至300%
- 更少的Bug:
- Fewer bugs: 减少40%开发人员容易引发的错误
- 直观:完美的编辑支持
- 简单: 易于使用和学习,减少阅读文档的时间。
- 代码简洁:很大程度上减少代码重复。每个参数可以声明多个功能,减少bug的发生。
- 标准化:基于并完全兼容API的开发标准:OpenAPI(以前称为Swagger)和JSON Schema。
二、搭建环境
python环境:Python 3.6+
FastAPI依赖于下面这两大重要的成果:
三、fastapi安装
- 1、安装fastapi
pip install fastapi
- 2、如果用于生产,那么你还需要一个ASGI服务器,如Uvicorn或Hypercorn
pip install uvicorn
四、可选的依赖
1. Pydantic提供:
-
ujson
- 更快的JSON -
email_validator
- 电子邮件的验证
2. Starlette提供:
-
requests
- 如果你想要使用TestClient
, 需要导入requests. -
aiofiles
- 如果你想使用FileResponse
orStaticFiles
, 需要导入aiofiles. -
jinja2
- 如果你想使用默认的模板配置,需要导入jinjia2. -
python-multipart
-如果要使用request.form()支持表单“解析”,则为必需。 -
itsdangerous
-“SessionMiddleware”支持需要。 -
pyyaml
- 如果需要SchemaGenerator
支持, 则为必要. -
graphene
-如果需要GraphQLApp
支持, 则为必要. -
ujson
- 如果你想使用UJSONResponse
, 则为必要.
3. FastAPI / Starlette提供:
-
uvicorn
- 加载和提供应用程序的服务器.
4. 一次性全部安装
pip3 install fastapi[all]