theskumar / theskumar/python-dotenv
.env not found with using python-dotenv==1.1.1 installed through uv pip install
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 8.9k
- Forks
- 581
- PR merge metrics
- No merged PRs in 30d
Description
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:
condaversion24.9.2(installed viaminiconda)uvversion0.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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
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.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100