Saturday, November 16, 2024
Google search engine
HomeLanguagesDeploy Python Flask App on Heroku

Deploy Python Flask App on Heroku

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
 

 

RELATED ARTICLES

Most Popular

Recent Comments