Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Deploy Python Flask App on Heroku

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Flask is a web application framework written in Python. Flask is based on the Werkzeug WSGI toolkit and Jinja2 template engine. Both are Pocco projects. This article revolves around how to deploy a flask app on Heroku. To demonstrate this, we are first going to create a sample application for a better understanding of the process. 

Prerequisites 

  • Python
  • pip
  • Heroku CLI
  • Git

 

Deploying Flask App on Heroku

Let’s create a simple flask application first and then it can be deployed to heroku. Create a folder named “eflask” and open the command line and cd inside the “eflask” directory. Follow the following steps to create the sample application for this tutorial.
STEP 1 : Create a virtual environment with pipenv and install Flask and Gunicorn .
 

$ pipenv install flask gunicorn 

STEP 2 : Create a “Procfile” and write the following code. 
 

$ touch Procfile 

 

STEP 3 : Create “runtime.txt” and write the following code.
 

$ touch runtime.txt 

 

STEP 4 : Create a folder named “app” and enter the folder. 
 

$ mkdir app
$ cd app
  

STEP 5 : Create a python file, “main.py” and enter the sample code.
 

 touch main.py 

 

Python3




from flask import Flask
 
app = Flask(__name__)
 
@app.route("/")
def home_view():
        return "<h1>Welcome to Geeks for Geeks</h1>"

STEP 6 :Get back to the previous directory “eflask”.Create a file“wsgi.py” and insert the following code.
 

$ cd ../
$ touch wsgi.py

 

Python3




from app.main import app
 
if __name__ == "__main__":
        app.run()

STEP 7 : Run the virtual environment.
 

$ pipenv shell 

STEP 8 : Initialize an empty repo, add the files in the repo and commit all the changes.
 

$ git init 
$ git add .
$ git commit -m "Initial Commit"

STEP 9 : Login to heroku CLI using 
 

heroku login

Now, Create a unique name for your Web app.
 

$ heroku create eflask-app

 

STEP 10 : Push your code from local to the heroku remote. 
 

$ git push heroku master

 

Finally, web app will be deployed on http://eflask-app.herokuapp.com
 

 


My Personal Notes arrow_drop_up
Last Updated : 19 Oct, 2021
Like Article
Save Article
Similar Reads
Related Tutorials