第二章 环境搭建
本章目标:安装必要的工具,创建项目,跑起来你的第一个后台服务。
2.1 需要安装什么
你已经有 Python 了,只需要再装几个包就行。
安装三个核心依赖
打开终端(命令行),运行:
pip install fastapi uvicorn sqlmodel
这三个分别是什么?
| 包名 | 作用 |
|---|---|
| fastapi | Python 的 Web 框架,用来写后台接口 |
| uvicorn | 服务器,用来运行 FastAPI 程序 |
| sqlmodel | 数据库工具,用 Python 类操作数据库(内部整合了 SQLAlchemy + Pydantic) |
可选安装
pip install httpx
httpx 在后续测试接口时可能用到。
另外推荐安装一个数据库可视化工具 DB Browser for SQLite,可以直观地看到数据库里存了什么:
2.2 创建项目
创建项目文件夹
mkdir todo_backend
cd todo_backend
推荐的目录结构
我们的项目最终长这样(先别急着全部创建,跟着教程一步步来):
todo_backend/
├── main.py # 入口文件:定义所有接口
├── models.py # 数据模型:定义数据库表结构
├── database.py # 数据库配置:连接数据库
├── requirements.txt # 依赖清单
└── database.db # SQLite 数据库文件(运行后自动生成)
创建 requirements.txt
在项目根目录创建 requirements.txt,写入:
fastapi
uvicorn
sqlmodel
这个文件的作用是:别人拿到你的代码后,运行
pip install -r requirements.txt就能一键安装所有依赖。
2.3 第一次启动服务
现在我们来写最简单的后台程序,确认环境没问题。
创建 main.py
在 todo_backend/ 目录下创建 main.py,写入以下代码:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def hello():
return {"message": "你好,这是我的第一个后台服务!"}
代码解释:
| 代码 | 含义 |
|---|---|
from fastapi import FastAPI | 导入 FastAPI 框架 |
app = FastAPI() | 创建一个应用实例 |
@app.get("/") | 定义一个 GET 接口,路径是 /(根路径) |
def hello() | 当有人访问这个接口时,执行这个函数 |
return {"message": "..."} | 返回一个 JSON 数据 |
启动服务
在终端中,进入项目目录,运行:
uvicorn main:app --reload
参数解释:
| 参数 | 含义 |
|---|---|
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
你应该看到:
{"message": "你好,这是我的第一个后台服务!"}
恭喜!你的第一个后台服务跑起来了!
方法二:自动文档页面
FastAPI 有一个超棒的功能——自动生成接口文档。
打开浏览器,输入:
http://127.0.0.1:8000/docs
你会看到一个漂亮的 Swagger UI 页面,上面列出了你定义的所有接口。你可以直接在这个页面上测试接口,不需要写前端代码。
这个页面后面会经常用到,它是后端开发者的好朋友。
2.4 理解发生了什么
让我们回顾刚才发生的事情:
1. 你写了一个 Python 文件(main.py),里面定义了一个接口
2. uvicorn 把这个文件运行起来,启动了一个 HTTP 服务器
3. 服务器在 127.0.0.1:8000 上监听请求
4. 你用浏览器访问这个地址,浏览器发出了一个 GET 请求
5. FastAPI 收到请求,调用 hello() 函数
6. 函数返回了一个字典,FastAPI 自动转成 JSON 发回给浏览器
7. 浏览器展示了这个 JSON 数据
这就是后台最基本的工作流程:收请求 → 处理 → 返回结果。
127.0.0.1 是什么?
127.0.0.1 就是”本机”的意思,也叫 localhost。
因为我们现在是在自己电脑上开发,服务器就运行在自己电脑上,所以访问”本机”就能访问到我们的服务。
8000 是端口号,一台电脑可以同时运行多个服务,靠端口号区分。
本章小结
| 完成项 | 状态 |
|---|---|
| 安装 fastapi、uvicorn、sqlmodel | ✅ |
| 创建项目目录 | ✅ |
| 编写第一个 FastAPI 程序 | ✅ |
| 启动服务并在浏览器中验证 | ✅ |
| 认识自动文档页面 /docs | ✅ |
下一章,我们深入学习 FastAPI 的核心概念:路由、请求参数、响应数据。