TypeError: Router.__init__() got an unexpected keyword argument 'on_startup'
错误发生在 FastAPI() 初始化时,内部创建默认的 webhooks=APIRouter() 时,向 Starlette 的 Router.__init__() 传递了已废弃的 on_startup 参数。
执行
# 1. 完全卸载
pip uninstall fastapi fastapi-cli starlette -y
# 2. 清理 pip 缓存(避免安装损坏的 wheel)
pip cache purge
# 3. 重新安装指定兼容版本(已知稳定组合)
pip install "fastapi>=0.115.0,<0.129.0" "starlette>=0.41.0,<0.51.0" fastapi-cli uvicorn
解决