You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启动FastAPI-SQLModel样板代码遇Pydantic验证错误,求解决方法

问题:FastAPI-SQLModel样板启动时Pydantic验证失败

我是JavaScript技术栈开发者,尝试使用fastapi-sqlmodel作为项目样板代码。该仓库的快速启动文档仅说明了启动命令(Python方式:pipenv run python asgi.py;Docker方式:docker build -t sqlmodel-api:latest . && docker run -p 8080:8080 sqlmodel-api:latest)及OpenAPI地址,但未提及安装步骤。我自行执行pip install和pipenv shell后,运行启动命令触发如下Pydantic验证错误:

File "/Users/userB/Desktop/fastapi-sql-blog/asgi.py", line 3, in <module>
    from api.app import create_app
  File "/Users/userB/Desktop/fastapi-sql-blog/api/app.py", line 3, in <module>
    from api.config import settings
  File "/Users/userB/Desktop/fastapi-sql-blog/api/config.py", line 21, in <module>
    settings = Settings()
  File "/Users/userB/.local/share/virtualenvs/fastapi-sql-blog-a9YFiCXV/lib/python3.9/site-packages/pydantic/env_settings.py", line 36, in __init__
    super().__init__(
  File "/Users/userB/.local/share/virtualenvs/fastapi-sql-blog-a9YFiCXV/lib/python3.9/site-packages/pydantic/main.py", line 406, in __init__
    raise validation_error
pydantic.error_wrappers.ValidationError: 2 validation errors for Settings
ENV
  field required (type=value_error.missing)
VERSION
  field required (type=value_error.missing)

问题原因

项目的Settings类(定义在api/config.py中)要求必须提供ENV和VERSION两个环境变量,但启动时未配置这两个变量,导致Pydantic验证失败。另外,直接用pip install安装依赖没有遵循项目的版本约束,也可能引发潜在问题。

解决步骤

  • 正确安装依赖:使用项目自带的Pipfile安装依赖,确保版本匹配:
    pipenv install
    
  • 配置环境变量:
    方法一:在项目根目录创建.env文件,添加以下内容:
    ENV=development
    VERSION=1.0.0
    
    方法二:启动时临时注入环境变量:
    ENV=development VERSION=1.0.0 pipenv run python asgi.py
    
  • 重新启动项目:执行启动命令,验证是否正常运行。

内容的提问来源于stack exchange,提问作者Alwaysblue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:10:49