首页 / FastAPI 入门教程 / 安装 FastAPI 与 ASGI 服务器

FastAPI 入门教程

安装 FastAPI 与 ASGI 服务器

本教程共 50 篇 · 第 3 篇 · 更新于 2026-08-12 · 约 6 分钟阅读

FastAPIFastAPI 入门教程安装 FastAPIUvicornpipASGI 服务器

本节目标:在虚拟环境里装好 FastAPI 与运行它所需的 ASGI 服务器,并学会验证版本是否装对。

3-1 先确认你在虚拟环境里

装包之前,先确认终端前面有 (venv) 标记。如果上一步激活过,通常还留着。

(venv) $

要是不小心退出了,重新进入项目目录并激活:

# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activate

只有在 (venv) 状态下安装,FastAPI 才会进到本项目的小房间里,不会污染全局 Python。

Tip

不确定当前是否在环境里?看命令行前缀有没有 (venv) 最直观。没有就先激活再装。

3-2 一句话装好 FastAPI 全家桶

最省事的装法,是用方括号里的 standard 额外组件:

python -m pip install "fastapi[standard]"

这行命令会一次性装好 FastAPI,以及一组”标准配套”包。等于官方帮你把常用依赖都备齐了。

注意命令里的引号不能省。在有些终端里,方括号会被当成特殊符号,加上双引号最稳妥。

Note

python -m pip 而不是单独 pip,能保证包装进当前激活的虚拟环境,避免装到系统全局去。

3-3 fastapi[standard] 到底装了啥

standard 不是空名字,它把一批常用依赖打包带了进来。了解它们各自干嘛,心里更有底。

Uvicorn:ASGI 服务器,真正把你的应用跑起来。这是运行 FastAPI 的发动机。

email-validator:当你声明邮箱类型字段时,它负责按标准校验邮件格式。

httpx:一个现代 HTTP 客户端。FastAPI 的测试客户端就基于它,方便你写接口测试。

jinja2:模板引擎。以后你想返回 HTML 页面而非纯 JSON 时会用到。

python-multipart:支持表单数据和文件上传。没有它,接收 FormFile 会报错。

Uvicorn 的附加项(uvicorn[standard]):包括 uvloop 和 httptools,能进一步提升运行速度,后面会单独说。

可以看到,fastapi[standard] 几乎覆盖了入门到进阶的大部分需求,新手不用再东拼西凑。

Note

fastapi[standard] 已自带 pydantic-settings(用于从环境变量、.env 文件读取配置),自 0.116.0 起它就在 standard 组里,无需额外安装。只有裸 pip install fastapi 才需要单独 python -m pip install pydantic-settings。另外 pydantic-extra-typesorjsonujson 等仍是可选依赖,按需安装即可。

3-4 单独聊一聊 Uvicorn

FastAPI 本身只是个框架,它定义了”接口怎么写”,但”怎么把接口跑成服务”要靠服务器。

Uvicorn 就是那个服务器,而且是 ASGI 标准的。ASGI 是异步网关接口,对应老式的 WSGI,能更好地发挥异步性能。

fastapi[standard] 已经顺带装了 Uvicorn,所以多数情况你不用再单独装。但想让 Uvicorn 跑得更快,可以补装它的标准扩展:

python -m pip install "uvicorn[standard]"

这会把 uvloop(高性能事件循环)和 httptools(高性能 HTTP 解析器)一起装进来。

Tip

偷懒记法:入门用 fastapi[standard] 够了;想压榨性能,再补一条 uvicorn[standard]

3-5 验证 FastAPI 装好了没

装完别急着写代码,先确认版本对不对。最直接的方式是在 Python 里打印版本号:

python -c "import fastapi; print(fastapi.__version__)"

如果安装成功,会打印:

0.141.1

能看到 0.141.1 就说明装对了。

Note

要是提示”fastapi 不是内部或外部命令”,多半是没在虚拟环境里,或安装中途失败。重新激活环境、再跑一遍安装命令。

3-6 也可以用命令行确认 CLI 工具

fastapi 命令行工具随 fastapi[standard] 一起安装。运行 fastapi --version 会打印 FastAPI CLI 自身的版本号(注意不是 FastAPI 框架版本):

FastAPI CLI version: 0.0.32

这能证明 fastapi 命令可用,后面启动项目就靠它。但查看框架版本,用上一节的 python -c "import fastapi; print(fastapi.__version__)" 更准确。

Tip

顺手也确认下 Uvicorn:python -c "import uvicorn; print(uvicorn.__version__)"。能打印版本号即代表服务器就位。

3-7 顺便看一眼都装了哪些包

想回顾环境里现在有哪些依赖,用 pip listpip freeze 即可:

python -m pip list

你会看到 fastapiuvicornpydanticstarlette 等名字都在列。它们正是 FastAPI 运行所依赖的生态。

pip freeze 还会带上精确版本号,适合把当前环境导出成 requirements.txt 供他人复现。

Note

之后如果要把项目交给别人,执行 pip freeze > requirements.txt,对方用 pip install -r requirements.txt 就能装出一模一样的环境。

3-8 安装太慢?换源加速(可选)

在国内网络下,pip install 有时很慢甚至超时。这时可以把下载源换成国内镜像,速度会明显提升。

以清华镜像为例,在命令后加 -i 参数:

python -m pip install "fastapi[standard]" -i https://pypi.tuna.tsinghua.edu.cn/simple

豆瓣、阿里云等也提供类似镜像,用法一样,只是把地址换掉。

Tip

如果经常用某个镜像,可把它写成 pip 的全局配置,以后不加 -i 也走镜像。新手先用命令行的 -i 方式最直观。

3-9 小结与下一步

这一章你完成了最关键的一步:把 FastAPI 和它需要的服务器真正装到了机器上。

回顾核心命令:

python -m pip install "fastapi[standard]"   # 装框架与标准组件
python -m pip install "uvicorn[standard]"   # 可选,提升性能
fastapi --version                            # 校验版本

环境有了、框架装了,下一章我们就写出人生第一个 FastAPI 接口,并把它在本地跑起来。