FastAPI 安装与环境配置
FastAPI 依赖 Python 3.8 及更高版本。本节介绍如何安装 FastAPI 以及配置开发环境。
检查 Python 版本
在安装 FastAPI 之前,先确认你的 Python 版本:
$ python --version Python 3.11.0 # 或者 $ python3 --version Python 3.11.0
如果你的 Python 版本低于 3.8,请先升级 Python。
创建虚拟环境
推荐在虚拟环境中安装 FastAPI,避免与系统 Python 包产生冲突:
# 创建虚拟环境 $ python -m venv venv # 激活虚拟环境(macOS/Linux) $ source venv/bin/activate # 激活虚拟环境(Windows) $ venv\Scripts\activate
虚拟环境是 Python 开发的最佳实践。每个项目使用独立的虚拟环境,可以避免不同项目之间的依赖冲突。
安装 FastAPI
使用 pip 安装 FastAPI:
$ pip install fastapi
这条命令只安装 FastAPI 核心包。如果你需要一次性安装 FastAPI 及其所有可选依赖,可以使用:
$ pip install "fastapi[all]"
fastapi[all] 会安装以下组件:
| 包名 | 用途 |
|---|---|
uvicorn[standard] | ASGI 服务器,用于运行 FastAPI 应用 |
python-multipart | 表单数据和文件上传支持 |
jinja2 | HTML 模板引擎 |
python-jose[cryptography] | JWT 令牌支持 |
passlib[bcrypt] | 密码哈希与加密 |
python-dotenv | 环境变量管理 |
安装 Uvicorn
FastAPI 是一个 ASGI 框架,需要一个 ASGI 服务器来运行。最常用的是 Uvicorn:
$ pip install "uvicorn[standard]"
[standard] 会安装 uvloop(高性能事件循环)和 httptools(高性能 HTTP 解析器),显著提升性能。
ASGI(Asynchronous Server Gateway Interface)是 Python 异步 Web 服务器与应用程序之间的标准接口,是 WSGI 的异步版本。传统框架如 Flask 使用 WSGI(同步),而 FastAPI 使用 ASGI(异步),能够更高效地处理并发请求。
运行第一个 FastAPI 应用
安装完成后,创建一个名为 main.py 的文件:
实例
# 创建 FastAPI 应用实例
app = FastAPI()
# 定义根路径的 GET 路由
@app.get("/")
async def root():
return {"message": "Hello World"}
在命令行中启动应用:
$ uvicorn main:app --reload
参数说明:
| 参数 | 说明 |
|---|---|
main:app | main 指文件名 main.py,app 指文件中创建的 FastAPI 实例变量名 |
--reload | 开发模式,代码修改后自动重载服务器(仅用于开发环境) |
启动成功后,终端会显示:
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process INFO: Started server process INFO: Waiting for application startup. INFO: Application startup complete.
打开浏览器访问 http://127.0.0.1:8000,你将看到如下 JSON 响应:
{"message": "Hello World"}

同时,FastAPI 自动生成了交互式 API 文档:
| 地址 | 文档类型 | 说明 |
|---|---|---|
| http://127.0.0.1:8000/docs | Swagger UI | 可交互测试 API 的文档界面 |
| http://127.0.0.1:8000/redoc | ReDoc | 更注重阅读体验的文档界面 |
使用 FastAPI CLI
FastAPI 新版本提供了 fastapi 命令行工具,可以更方便地运行应用:
# 开发模式(自动重载) $ fastapi dev # 生产模式 $ fastapi run
fastapi dev 会自动查找项目中的 FastAPI 应用并启动开发服务器,等同于 uvicorn main:app --reload。
推荐开发工具
| 工具 | 说明 |
|---|---|
| VS Code | 免费、轻量,配合 Python 和 Pylance 插件有极佳的 FastAPI 开发体验 |
| PyCharm | 专业 Python IDE,内置 FastAPI 项目模板和强大的调试功能 |
| 阿里 Qoder | 阿里推出的 AI 编程 IDE,基于 VS Code 深度定制 |
| 字节 Trae | 字节跳动推出的 AI 驱动开发工具,内置 Python 支持 |
推荐使用 VS Code + Python 插件,它对 FastAPI 的类型注解和自动补全支持最好,且完全免费。
