跳至内容

关于 FastAPI 版本

FastAPI 已经被许多应用程序和系统用于生产环境。并且测试覆盖率保持在 100%。但它的开发仍在快速进行中。

新功能经常被添加,错误经常被修复,代码也一直在不断改进。

这就是为什么当前版本仍然是 0.x.x,这反映了每个版本都可能存在重大更改。这遵循 语义版本控制 约定。

你现在可以使用 FastAPI 创建生产应用程序(并且你可能已经在一段时间内这样做过),你只需要确保你使用的版本与你的其他代码正常工作。

固定你的 fastapi 版本

你应该做的第一件事是将你使用的 FastAPI 版本“固定”到你已知对你的应用程序正常工作的特定最新版本。

例如,假设你在你的应用程序中使用版本 0.112.0

如果你使用 requirements.txt 文件,你可以使用以下方法指定版本

fastapi[standard]==0.112.0

这意味着你将使用版本 0.112.0

或者你也可以使用以下方法固定它

fastapi[standard]>=0.112.0,<0.113.0

这意味着你将使用版本 0.112.0 或更高版本,但低于 0.113.0,例如,版本 0.112.2 仍然会被接受。

如果你使用任何其他工具来管理你的安装,比如 uv、Poetry、Pipenv 或其他,它们都有你可以用来为你的包定义特定版本的方法。

可用版本

你可以在 发布说明 中查看可用版本(例如,查看当前最新版本)。

关于版本

遵循语义版本控制约定,任何低于 1.0.0 的版本都可能添加重大更改。

FastAPI 也遵循以下约定:任何“修补程序”版本更改都是用于修复错误和非重大更改。

提示

“修补程序”是最后一个数字,例如,在 0.2.3 中,修补程序版本是 3

因此,你应该能够固定到类似的版本

fastapi>=0.45.0,<0.46.0

重大更改和新功能在“次要”版本中添加。

提示

“次要”是中间的数字,例如,在 0.2.3 中,次要版本是 2

升级 FastAPI 版本

你应该为你的应用程序添加测试。

使用 FastAPI 非常容易(感谢 Starlette),查看文档:测试

在你拥有测试后,你可以将 FastAPI 版本升级到较新的版本,并通过运行你的测试确保你的所有代码都能正常工作。

如果一切都正常工作,或者在你完成必要的更改后,并且你的所有测试都通过了,那么你可以将你的 fastapi 固定到那个新的最新版本。

关于 Starlette

你不应该固定 starlette 的版本。

不同版本的 FastAPI 将使用特定更新版本的 Starlette。

因此,你只需让 FastAPI 使用正确的 Starlette 版本即可。

关于 Pydantic

Pydantic 包含了**FastAPI**的测试,并将其与自身的测试结合在一起,因此 Pydantic 的新版本(高于1.0.0)始终与 FastAPI 兼容。

您可以将 Pydantic 固定到任何高于1.0.0的版本,只要它适合您即可。

例如

pydantic>=2.7.0,<3.0.0