From 87c716d3c696355159596b528aa17b66f2f5789b Mon Sep 17 00:00:00 2001 From: Automated Action Date: Fri, 23 May 2025 10:41:26 +0000 Subject: [PATCH] Fix pydantic_settings import error - Add pydantic-settings to requirements.txt - Add fallback import for BaseSettings from pydantic if pydantic_settings is not available - Fix ModuleNotFoundError during database migration --- app/core/config.py | 13 +++++++++---- requirements.txt | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/core/config.py b/app/core/config.py index b0c3935..7a6233b 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -1,6 +1,11 @@ from pathlib import Path -from pydantic_settings import BaseSettings +# Try to import BaseSettings from pydantic_settings (for Pydantic v2+) +# Fall back to importing from pydantic directly (for Pydantic v1) +try: + from pydantic_settings import BaseSettings +except ImportError: + from pydantic import BaseSettings class Settings(BaseSettings): @@ -9,14 +14,14 @@ class Settings(BaseSettings): PROJECT_NAME: str = "RESTAPIService" PROJECT_DESCRIPTION: str = "FastAPI REST API Service" VERSION: str = "0.1.0" - + # CORS Origins BACKEND_CORS_ORIGINS: list[str] = ["*"] - + # Database DB_DIR = Path("/app") / "storage" / "db" DB_DIR.mkdir(parents=True, exist_ok=True) - + # SQLite Database URL SQLALCHEMY_DATABASE_URL: str = f"sqlite:///{DB_DIR}/db.sqlite" diff --git a/requirements.txt b/requirements.txt index 1bd6f4c..3322047 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,7 @@ fastapi>=0.100.0 uvicorn>=0.23.0 sqlalchemy>=2.0.0 pydantic>=2.0.0 +pydantic-settings>=2.0.0 alembic>=1.11.0 python-dotenv>=1.0.0 ruff>=0.0.272