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 test.py 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

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

But when 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?

Comments
hotnewtop
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?