Skip to content

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

Description

@romanschiphol

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions