FastAPI 是现代、快速(高性能)的 Python Web 框架,基于标准 Python 类型提示构建,专为构建 API 而设计。本教程详细介绍如何在 Windows 环境下搭建 FastAPI 开发环境并创建基础后端服务,适合 API 开发、微服务架构和现代 Web 应用开发。

本系列教程多次使用 FastAPI 构建各类后端接口服务,包括为大语言模型LLM构建接口,为Claude Code写Skill脚本,为Dify写访问数据库的服务等等,因而熟悉使用 FastAPI 在本系列教程中至关重要。

前置教程

如想快速开始学习本教程,你可能需要先完成以下前置教程:

资源下载

1. 环境准备

1.1 下载 Conda 并配置环境

什么是 Conda

Conda 是一个开源的包管理器和环境管理器,用于在 Python 和 R 环境中安装和管理软件包。它支持多种操作系统,包括 Windows、Linux 和 macOS。

Conda 的设计目标是提供一个一致的软件包管理体验,使得在不同操作系统和环境中安装和管理软件包变得更加简单和高效。Conda 的包管理器和环境管理器功能强大,可以轻松地创建和管理多个独立的 Python 环境。

下载并安装 Conda

  1. 在网盘中下载Miniconda-2.2.8-Windows-x86_64.exe或前往官网下载 Anaconda 安装包
  2. 双击安装程序,连续点击“Next”直至安装完成
  3. 验证安装:

conda --version
如正常输出版本号,说明 Conda 安装成功。

创建 Conda 环境

# 创建 FastAPI 专用环境
conda create -n fastapi python=3.10

# 激活环境
conda activate fastapi

如果你此前没有下载安装Python或是其特定版本,Conda 可以帮助你自动安装 Python 和相关依赖。

如果终端文件名前方没有环境标识符(base),则需要运行conda init bash 命令,以初始化 Conda 环境,然后重启终端再次激活环境即可。

2. 创建项目

你可以下载网盘中的示例代码,也可以根据以下步骤创建项目:

2.1 创建项目目录

在 VS Code 中打开一个工作目录(如 C:\Projects\),然后在终端中创建以下项目结构:

fastapi/
├── main.py           # 主应用文件
├── requirements.txt  # 依赖列表文件
└── README.md         # 项目说明文件(可选)

也可以使用命令行创建:

# 创建项目目录
mkdir fastapi

# 进入项目目录
cd fastapi

2.2 创建基础 FastAPI 应用

fastapi 目录下创建 main.py 文件,输入以下代码:

from fastapi import FastAPI

# 创建FastAPI应用实例
app = FastAPI(
    title="FastAPI基础服务",
    description="一个简单的FastAPI后端服务示例",
    version="1.0.0"
)

# 定义根路径操作
@app.get("/")
def read_root():
    """返回欢迎信息"""
    return {"message": "欢迎使用FastAPI!", "status": "running"}

# 定义健康检查接口
@app.get("/health")
def health_check():
    """健康检查接口"""
    return {"status": "healthy", "service": "FastAPI服务"}

# 定义带参数的接口
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
    """根据ID获取项目信息"""
    return {"item_id": item_id, "q": q}

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

代码说明

代码段 说明
from fastapi import FastAPI 导入 FastAPI 框架
app = FastAPI(...) 创建应用实例,配置标题和描述信息
@app.get("/") 装饰器,定义 HTTP GET 请求的路由
item_id: int 路径参数,自动进行类型校验
q: str = None 可选查询参数,默认为 None
uvicorn.run(...) 启动 Uvicorn 服务器,host 设为 0.0.0.0 允许外部访问

端口说明:FastAPI 的默认运行端口为 8000,这里将其修改为 8887,避免与本地其他服务冲突。

这里出现了很多专用名词,如示例、装饰器、端口...别急,我们会在后面的教程中逐一解答。

3. 安装依赖

3.1 创建依赖列表文件

所谓依赖是指在项目中使用的各类提前编写好的库,一般是官方或三方开发者提供,我们可以将其理解为其他人提前帮我们编制好的功能包,可以提高我们的开发效率。

依赖列表文件 是一个文本文件,用于记录项目所需的库及其版本信息。通常命名为 requirements.txt

fastapi 目录下创建 requirements.txt 文件:

fastapi
uvicorn

3.2 安装依赖

确保已激活虚拟环境

# 激活环境
conda activate fastapi

# 安装项目依赖
pip install -r requirements.txt

国内镜像加速

如果下载速度较慢,可以使用国内镜像源:

# 使用清华镜像源安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

# 永久性配置pip镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

4. 启动与验证

4.1 启动应用

在项目目录 fastapi 下启动应用:

python main.py

启动参数说明(对应 uvicorn.run() 中的配置):

参数 说明
app main.py 文件中的 FastAPI 应用实例
host="0.0.0.0" 允许局域网内其他设备访问
port=8887 指定监听端口

启动成功后,终端会显示类似以下信息:

INFO:     Uvicorn running on http://0.0.0.0:8887 (Press CTRL+C to quit)

4.2 验证应用运行

浏览器访问

  • 根路径:http://localhost:8887 — 返回欢迎信息
  • 带参接口:http://localhost:8887/items/5?q=test — 返回参数信息

4.3 停止服务

在运行服务的终端中按 Ctrl+C 即可停止服务。