theskumar / theskumar/python-dotenv

.env not found with using python-dotenv==1.1.1 installed through uv pip install

Abierto
#574 1 comentario 2 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

dev-environment.yml
dev-environment-with-pip.yml
README.md
show_dotenv_issue.py

Python dotenv issue

System used for issue:

  • WSL2 on Windows 11 Enterprise with Ubuntu 22.04

Requirements:

  • conda version 24.9.2 (installed via miniconda)
  • uv version 0.8.9

Description of the issue:

When running a python script that uses the dotenv package to load environment variables,
depending on the python-dotenv version and using uv or not the .env-file is not found through load_dotenv().

Definition of the folder and files

Folder scructure should be as follows:

├── dev-environment-with-pip.yml
├── dev-environment.yml
├── .env
└── show_dotenv_issue.py

The files should contain the following content:

dev-environment.yml

name: python_dotenv_issue
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.11.13

dev-environment-with-pip.yml

name: python_dotenv_issue_with_pip
channels:
  - conda-forge
  - defaults
dependencies:
  - python=3.11.13
  - pip=25.2

.env

MY_VAR1=my_value1
MY_VAR2=my_value2

show_dotenv_issue.py

import os

from dotenv import load_dotenv

load_dotenv()


if __name__ == "__main__":
    print(os.getenv("MY_VAR1"))
    print(os.getenv("MY_VAR2"))

Observations

There are three situations to point out:

1. Install python-dotenv==1.1.1 with uv pip install without pip==25.2 (does not work)

Run:

conda deactivate
conda env create -f dev-environment.yml
conda activate python_dotenv_issue
uv pip install python-dotenv==1.1.1
python -m show_dotenv_issue

You expect that the script prints

my_value1
my_value2

but it prints:

None
None
2. Install python-dotenv==1.1.1 with pip install (works)

Run:

conda deactivate
conda env create -f dev-environment-with-pip.yml
conda activate python_dotenv_issue_with_pip
pip install python-dotenv==1.1.1
python -m show_dotenv_issue

The script prints as expected:

my_value1
my_value2
3. Install python-dotenv==1.1.0 with uv pip install (works)

Remove the earlier conda env python_dotenv_issue:

conda deactivate
conda env remove -n python_dotenv_issue 

Run:

conda env create -f dev-environment.yml
conda activate python_dotenv_issue
uv pip install python-dotenv==1.1.0
python -m show_dotenv_issue

The script prints as expected:

my_value1
my_value2

Conclusion

There seems to be an issue with python-dotenv==1.1.1 in combination with uv pip install when pip is not installed.
As there is no problem with python-dotenv==1.1.0, we suspect an issue in version 1.1.1. However, we have not been able
to point out what exactly could cause this.

show_dotenv_issue.py
dev-environment.yml
dev-environment-with-pip.yml
README.md

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 three setups from the issue using dev-environment.yml, dev-environment-with-pip.yml, and show_dotenv_issue.py, then inspect how load_dotenv() locates .env under python-dotenv 1.1.1. Compare the 1.1.0 and 1.1.1 behavior with uv and pip; done means the cause is identified and the reported environment-variable loading behavior is fixed or clearly explained.

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

Evaluación

Stack tecnológico
python
Área
backend
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.