theskumar / theskumar/python-dotenv

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

Offen
#574 1 Kommentar 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
8.9k
Forks
581
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
backend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.