Ask coding questions

← Back to all posts
Python Environment Variables - os.environ returns None
[deleted]

I've set a SECRET_KEY as an environment variable

and I have a short script called test.py that calls it:

import os

SECRET_KEY = os.environ['SECRET_KEY']

print('the secret key is: {}'.format(SECRET_KEY))

which works fine if I run in with .replit

language="python"
run="python test.py"
> python test.py
the secret key is: key_that_is_secret

but if I run it from the shell
~/pythonapp$ python test.py

it returns an error?

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    SECRET_KEY = os.environ['SECRET_KEY']
  File "/usr/lib/python3.8/os.py", line 675, in __getitem__
    raise KeyError(key) from None
KeyError: 'SECRET_KEY'

Is there something I'm missing?