Pydantic не отдает приоритет среде ОСPython

Программы на Python
Anonymous
Pydantic не отдает приоритет среде ОС

Сообщение Anonymous »

У меня есть следующее

Код: Выделить всё

from pydantic import Field
from pydantic_settings import BaseSettings, SettingsConfigDict

from devtools import debug

class Config(BaseSettings):

# Environment
STAGE: str = Field('prod', validation_alias='STAGE')
OTHER: str

model_config = SettingsConfigDict(env_file='.test.env', env_file_encoding='utf-8', env_prefix='DEV_')

settings = Config()

debug(settings)
с файлом .test.env, который выглядит следующим образом:

Код: Выделить всё

STAGE=test
DEV_OTHER="other"
и я установил переменную среды ОС следующим образом:

Код: Выделить всё

export STAGE=dev
давая следующий ответ с помощью printenv:

Код: Выделить всё

...
STAGE=dev
...
и затем получите следующий результат:

Код: Выделить всё

test.py:18 
settings: Config(
STAGE='test',
OTHER='other',
)
Насколько я понимаю, переменная среды ОС будет иметь приоритет, но я ее здесь не вижу?


Подробнее здесь: https://stackoverflow.com/questions/786 ... nvironment

Вернуться в «Python»