關於 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