用途:把环境相关配置(URL、密钥、功能开关)从代码中外部化,使同一份代码无需修改即可运行在不同环境,并在应用启动时完成类型化解析与校验。
主要能力:以 pydantic-settings 的 BaseSettings 定义集中配置类,用 Field(alias="...") 映射环境变量,并用类型(如 int、bool、PostgresDsn)做校验;支持 .env 文件加载(env_file、env_file_encoding)与挂载密钥目录(secrets_dir);采用 fail fast 在启动时暴露缺失配置,并可提供本地开发默认值;建议通过 namespaced 变量(如 DB_HOST、REDIS_URL)组织分组配置,并以 settings 单例在应用中导入使用。
使用方式示例(保持原样): from pydantic_settings import BaseSettings from pydantic import Field
class Settings(BaseSettings): database_url: str = Field(alias="DATABASE_URL") api_key: str = Field(alias="API_KEY") debug: bool = Field(default=False, alias="DEBUG")
settings = Settings() 校验失败时捕获 ValidationError 并退出,例如 sys.exit(1)。
适用场景:新项目搭建配置系统、从硬编码迁移到环境变量、管理密钥与敏感值、创建 dev/staging/prod 分环境配置、启动时校验配置。
限制:资料未提供具体安装命令、版本要求、价格、平台或性能数据;技能细节(Advanced Patterns 等)位于 references/details.md,本次资料未展开。