fix: resolve YAML config path relative to project root
Ensure config/settings.yaml can be found when running from any working directory by resolving the path relative to the settings.py file location rather than the current working directory. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -45,7 +45,12 @@ class Settings(BaseModel):
|
|||||||
|
|
||||||
def load_settings(config_path: str = "config/settings.yaml") -> Settings:
|
def load_settings(config_path: str = "config/settings.yaml") -> Settings:
|
||||||
"""加载 YAML 配置文件"""
|
"""加载 YAML 配置文件"""
|
||||||
|
# Resolve relative to the project root (where config/ directory exists)
|
||||||
path = Path(config_path)
|
path = Path(config_path)
|
||||||
|
if not path.is_absolute():
|
||||||
|
# __file__ is config/settings.py, so parent.parent gives us project root
|
||||||
|
project_root = Path(__file__).resolve().parent.parent
|
||||||
|
path = project_root / config_path
|
||||||
if not path.exists():
|
if not path.exists():
|
||||||
raise FileNotFoundError(
|
raise FileNotFoundError(
|
||||||
f"配置文件不存在: {config_path}\n"
|
f"配置文件不存在: {config_path}\n"
|
||||||
|
|||||||
Reference in New Issue
Block a user