Skip to content

_env_file keyword has no effect #651

Open
@bthorsted

Description

@bthorsted

As the title says, _env_file is ignored at runtime.

MWE

from pydantic_settings import BaseSettings, SettingsConfigDict

class Settings(BaseSettings):
    model_config = SettingsConfigDict(
        env_nested_delimiter="__",
        env_file=(".env", ".env.prod"),
        extra="ignore",
    )

settings = Settings(_env_file=".env.test")
print(f"{settings.model_config.get('env_file') = }")

Expected behavior

settings.model_config.get('env_file') = '.env.test'

Actual behavior

settings.model_config.get('env_file') = ('.env', '.env.prod')

System info

OS: Windows 11 Enterprise, version 23H2
Python version: 3.12.9
pydantic-settings 2.10.1
pydantic 2.11.7
pydantic-core 2.33.2

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions