Multi-line variables not loading correctly with load_env
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Reproduce the issue with the shown .env file and Python snippet, then trace the load_env/load_dotenv path and compare it with dotenv_values. Done means quoted multiline variables such as BAZ1 are fully loaded into the environment while the existing escaped-newline behavior remains correct.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When reading a multi-line environment variable (e.g. an SSH key) only the first line is read when using load_env. dotenv_values appears to read the multiline variable correctly.
Tested on a Apple M2 MacBook Air running Sonoma 14.7.4 with Python 3.12.9. While I had this issue inside a functions-framework function, I was able to reproduce it outside of that environment (see below.)
As an example, try the following .env file:
FOO="foo"
BAR="bar"
BAZ1="baz
baz
baz
baz
baz
"
BAZ2="baz\nbaz\nbaz"
LAST="last"
And the following Python code:
from dotenv import load_dotenv, dotenv_values
import os
load_dotenv()
print(os.environ.get('FOO'))
print(os.environ.get('BAR'))
print(os.environ.get('BAZ1'))
print(len(os.environ.get('BAZ1')))
print(os.environ.get('BAZ2'))
print(len(os.environ.get('BAZ2')))
print(os.environ.get('LAST'))
env = dotenv_values()
print(env)
print(env.get('BAZ1'))
print(len(env.get('BAZ1')))
print(env.get('BAZ2'))
print(len(env.get('BAZ2')))
When I run that code, it produces the following output:
foo
bar
"baz
4
baz
3
last
OrderedDict({'FOO': 'foo', 'BAR': 'bar', 'BAZ1': 'baz\nbaz\nbaz\nbaz\nbaz\n', 'BAZ2': 'baz\nbaz\nbaz', 'LAST': 'last'})
baz
baz
baz
baz
baz
20
baz
baz
baz
11
- Lingua principale
- Python
- Stelle
- 8.9k
- Fork
- 581
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di theskumar/python-dotenv
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
theskumar/python-dotenv#699 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
theskumar/python-dotenv#697 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 28/100
theskumar/python-dotenv#693 · 1 commento ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
theskumar/python-dotenv#683 · 4 commenti ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
theskumar/python-dotenv#644 · 2 commenti ·
Tutte le issue di theskumar/python-dotenv
Issue simili
-
link-check link-check:sphinx-theme
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
OpenHands/extensions#626 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
CSCfi/sd-search-api#39 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100