DEV Community

Wilfred Chukwu
Wilfred Chukwu

Posted on

Easy Steps to Deploy a Python Flask app on Heroku

I had issues the first time i wanted to deploy my flask app to heroku and i remember vividly searching for articles and youtube tutorials on how to host wep apps with heroku i wasted a lot of time on something rather simple to follow. so i am writing this this article to help ease your way to deployment of wep apps in heroku.

Before reading this article i already assume that you have:

  • a free Heroku account.
  • Python installed
  • your project(codes) ready to be deployed

Heroku CLI Set up

In this step you need to install the Heroku Command Line Interface (CLI). You use the CLI to manage and scale your applications,view your application logs, and run your application locally.
vist heroku.com to download your operating system's cli

Once installed run this command line in the terminal

heroku login

you will be prompt to login for authentication

Preparing the app

if the app is on github clone the application so that you have a local version of the code but if its already in your local machine in the terminal run

cd yourproject/app folder name

if cloned from github after the first command then run:

pip install -r requirements.txt

Note: if you are using your own application, make sure you have added a requirements.txt file by running

pip freeze > requirements.txt

so that all the application dependencies are added.

Add gunicorn and Procfile

run

pip install gunicorn

update requirements.txt by running

pip freeze > requirements.txt

Now create a new file Procfile as name in the project folder
note: (P) must be uppercase

in Procfile add

web: gunicorn app:app

note:The first app represents the name of the python file that runs your application or the name of the module it is in. The second app represents your app name. For example if your application runs from a run.py file that looks like this:
run:app

Runtime.txt

create runtime.txt
and Add this in runtime

python-3.7.2 or the current python version you used for the app

Deployment

In the application folder run

heroku create appname of your choice

config database through heroku site and connect
then in the terminal run

heroku git:remote -a appname of your choice

git push heroku master

wait... after its done
to view your web app run

heroku open

wolah!! you have successfully deployed your app.

related articles
https://devcenter.heroku.com/articles/getting-started-with-python
https://medium.com/the-andela-way/deploying-a-python-flask-app-to-heroku-41250bda27d0

Top comments (0)