#100DaysOfWeb in Python Transcripts
Chapter: Days 1-4: Flask Intro
Lecture: Persistent FLASK_APP environment variable using python-dotenv
0:00 So there's one little gutcher that I wanted to discuss here. And that was that environment variable that we created, that flask_app.
0:08 To view it, we can just quickly some up windows we'll do it this way. We can see it their, flask app equals our demo.pie file.
0:18 Now unfortunately, what happens is when I close this terminal window when I can cancel this session or exit out we lose that data.
0:27 So let me show you that, one second. Let's deactivate and let's exit out. And now with the new terminal launched, let's
0:37 just get into our folder 1-flask. All right so there we're back in here. Now, let's activate our virtual environment.
0:52 Right, and now if we run that same command... Flask app its gone. Okay, so if we were to run flask run, we're going to have issues.
1:04 It doesn't know what it's doing. It doesn't know what file to talk to. It's just running nothing, all right. So it's even say's it here
1:11 "you did not provide the flask app environment variable". So, the problem there is, every time you close your environment for the day
1:19 if you happen to shut off your computer and you come back, you're not going to be able to do this. You're going to have to reset that variable.
1:26 And it's really frustrating. So, one work around for this, is to install a new package into our virtual environment here.
1:35 Called Python-dotenv, it's this one here let's pick install it now. If I can type pip install Python-dotenv Now, what this module allows to do, it will
1:50 allow us to specify that environment variable in a environment file, in this parent directory here. And what we do is, we create that file
2:01 that's actually going to be called .flaskenv So let's go Vim okay because we're in an environment file. We'll be titled in Linux and everything
2:12 is classified as a dot file, so Vim .flaskenv and we throw that line in there. FLASK_APP=demo.py Save that, oops. All right, and now
2:35 flask, run, there we have it. So, what this does is it now refers to that .flaskenv file. So if we close out terminal session
2:44 and we cancel it out and we come back into another week, we don't have to remember signing that environment variable again.
2:51 It's just taken care of by the .flaskenv file and the dotenv package. So, install that, get that cracking and save yourself a bit of heartache.
3:01 Just remember to put it in all of your projects from here on in.