关于 FastAPI 版本¶
FastAPI 已在许多应用程序和系统中投入生产使用。其测试覆盖率保持在 100%。但其开发仍在快速进行。
新功能频繁添加,bug 定期修复,代码持续改进。
因此,当前版本仍为 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 还遵循任何“PATCH”版本更改用于修复 bug 和非破坏性更改的约定。
提示
“PATCH”是最后一个数字,例如,在 0.2.3 中,PATCH 版本是 3。
因此,您应该能够固定到类似的版本
fastapi>=0.45.0,<0.46.0
破坏性更改和新功能在“MINOR”版本中添加。
提示
“MINOR”是中间的数字,例如,在 0.2.3 中,MINOR 版本是 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