Are there any instances where using “export” in a .env
file is necessary? For example, export DEBUG=True
as opposed to DEBUG=True
.
I realize I’ve been using export in my .env files on macOS more out of habit than actual deep understanding. And it’s worked just fine so far! But on Windows using export
causes issues because it’s not Linux. So revisiting the deeper use of “export” in places like this article and this one I’m wondering if there are known use cases for export and the Windows equivalent in .env files in Django development.
1 Like
I don’t put the export
in the .env
file, just the vars…
SECRET_KEY=...
DB_PASSWORD=...
And so on.
I then have a loadenv
alias that does this:
export $(grep -v ^# .env | xargs)
Skipping any comment lines, format the file for the shell (xargs puts the declarations on a single line) and then export the result of that.
Folks may jump in with their favourite tool — Heresy! Use X! — but that’s about as basic as it gets, which is how I like it.
(There will be a billion different answers to this question.)
Update: this SO answer gives more-or-less the same for PowerShell
1 Like
There isn’t a .env
spec afaik, just various libraries that can parse certain syntax. Afaiu the ability to write export
before a line is just a convenience, so you can source .env
in your shell, and is otherwise skipped when parsing the file.
Carlton’s one liner is a fine alternative.
1 Like
Thank you both. That confirms what I was thinking!