theskumar / theskumar/python-dotenv

load_dotenv does not work with variables in values

Abierto
#595 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Python
Estrellas
8.9k
Forks
581
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I have a .env file with this variables similar to those explained in the library README:

# Development settings
DOMAIN=example.org
ADMIN_EMAIL=admin@${DOMAIN}
ROOT_URL=${DOMAIN}/app

# base work directory
WORKDIR=/workdir_shared

# logdir
LOGDIR=${WORKDIR}/logs

When I run this script I see that the values of variables ${DOMAIN} and ${WORKDIR} are not applied. I get:

DOMAIN: example.org
ROOT_URL: ${DOMAIN}/app
ADMIN_EMAIL: admin@${DOMAIN}
WORKDIR: /workdir_shared
LOGDIR: ${WORKDIR}/logs

Whe it should be:

DOMAIN: example.org
ROOT_URL: example.org/app
ADMIN_EMAIL: admin@example.org
WORKDIR: /workdir_shared
LOGDIR: workdir_shared/logs

What can be wrong?

This is the script code:

import os
from dotenv import load_dotenv


load_dotenv(verbose=True, interpolate=True)

print("DOMAIN:", os.getenv("DOMAIN"))
print("ROOT_URL:", os.getenv("ROOT_URL"))
print("ADMIN_EMAIL:", os.getenv("ADMIN_EMAIL"))
print("WORKDIR:", os.getenv("WORKDIR"))
print("LOGDIR:", os.getenv("LOGDIR"))

I tried with "load_dotenv()" with same result.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Start by reproducing the issue with the provided .env contents and Python script, then trace load_dotenv's interpolation path. Check how referenced variables are resolved and add coverage for DOMAIN and WORKDIR substitutions; done means the shown ROOT_URL, ADMIN_EMAIL, and LOGDIR values expand as expected.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
devops
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
65/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.