现在位置: 首页 > FastAPI 教程 > 正文

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表单数据和文件上传支持
jinja2HTML 模板引擎
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 的文件:

实例

from fastapi import FastAPI

# 创建 FastAPI 应用实例
app = FastAPI()

# 定义根路径的 GET 路由
@app.get("/")
async def root():
    return {"message": "Hello World"}

在命令行中启动应用:

$ uvicorn main:app --reload

参数说明:

参数说明
main:appmain 指文件名 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/docsSwagger UI可交互测试 API 的文档界面
http://127.0.0.1:8000/redocReDoc更注重阅读体验的文档界面

使用 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 的类型注解和自动补全支持最好,且完全免费。