theskumar / theskumar/python-dotenv

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

Đang mở
#574 1 bình luận 2 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Python
Star
8.9k
Fork
581
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
backend
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.