Ask coding questions

← Back to all posts
Python Environment Variables - os.environ returns None
hardbody (0)

I set a secret key as an environment variable

and I have a pyfile called that calls it

import os

SECRET_KEY = os.environ['SECRET_KEY']

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

When I run it with .replit it works fine

> python
the secret key is key_that_is_secret

But when I run it from the shell
~/pythonapp$ python
it returns an error

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

Is there something I'm missing?

SixBeeps (5234)

My guess is that environment variables get added whenever the run button is clicked, which would be a little strange, but I'm not sure. Possible bug?