Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Load environment variables from .env file in Python 3 [closed]
Closed as not constructive by Alexei on May 1, 2022 at 06:12
This question cannot be answered in a way that is helpful to anyone. It's not possible to learn something from possible answers, except for the solution for the specific problem of the asker.
This question was closed; new answers can no longer be added. Users with the reopen privilege may vote to reopen this question if it has been improved or closed incorrectly.
In Python 2, I was able to create a file named .env
within a project folder like so:
# .env
MY_ID=abc123
TOKEN=4567890
Then in a Python file in the same directory, I could read these variables like so:
# example.py
import os
id = os.environ["MY_ID"]
token = os.environ["TOKEN"]
This would work fine and load these variables from the file automatically when run.
In Python 3, this is not working (I get a KeyError
when trying to read the first environment variable),
So instead I tried to use the python-dotenv
package to load the variables like so:
# example.py
import os
from dotenv import load_dotenv
load_dotenv()
id = os.environ[“MY_ID”]
token = os.environ[“TOKEN”]
But this still results in a KeyError
.
Trying os.getenv()
instead of os.environ()
(as I saw in forum postings) results in TypeError: 'function' object is not subscriptable
.
Is there a simple way to read these variables as environment variables from a .env
file using this paradigm or do I need to implement a custom config in Python 3?
4 comment threads