关于 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