Open
Description
django-dotenv is a python-library, and used in python-code.
Currently .env-files can only contain:
- key/value-pairs
- blank lines
- comments
But sometimes, env-vars are also used by executables outside your python-code.
E.g In a django-project with a postgresql-backend, I have these env-vars:
# postgres - used in django-settings + by postgres-executables (bin/pg_* )
PGHOSTADDR="127.0.0.1"
PGPORT="5432"
PGDATABASE="my-db"
PGUSER="my-dbadmin"
PGPASSWORD="SUPERSECRET"
PGOPTIONS=""
# used only by postgres-executables,
# cfr. https://www.postgresql.org/docs/12.1/libpq-envars.html
PGDATA="..."
PGHOST="..."
I use following snippet to load all these key/value-pairs in my current bash-session
to use the postgresql-commands:
`
set -a && source .env && set +a
`
You can find many oneliners to source a .env-file in bash, many using grep/sed/xargs/...
If we would allow setting bash-options in the .env-file:
set -o allexport
PGHOSTADDR="127.0.0.1"
...
set -o allexport
these option-lines can just be skipped in the python-parsing of the dotenv
this would simplify to:
> source .env
just source the .env!
Metadata
Metadata
Assignees
Labels
No labels