How To Install Flask

February 8, 2021


Flask is one of the most popular web application frameworks written in Python. It is a microframework designed for an easy and quick start. Extending with tools and libraries adds more functionality to Flask for more complex projects.

This article explains how to install Flask in a virtual testing environment and create a simple Flask application.

How to Install Flask


  • Installed Python 2.7 or Python 3.5 and newer
  • CLI with administrator privileges

Note: Python 2 has reached the end-of-life maintenance status. It officially no longer has support as of 2020. Follow one of our guides on installing Python 3: How to install Python 3 on CentOS 7, How to install Python 3 on CentOS 8, How to install Python 3 on Ubuntu, How to install Python on Windows.

Step 1: Install Virtual Environment

Install Flask in a virtual environment to avoid problems with conflicting libraries. Check Python version before starting:

  • Python 3 comes with a virtual environment module called venv preinstalled. If you have Python 3 installed, skip to Step 2.
  • Python 2 users must install the virtualenv module. If you have Python 2, follow the instructions outlined in Step 1.

Install virtualenv on Linux

The package managers on Linux provides virtualenv.

  • For Debian/Ubuntu:

1. Start by opening the Linux terminal.

2. Use apt to install virtualenv on Debian, Ubuntu and other related distributions:

sudo apt install python-virtualenv
  • For CentOS/Fedora/Red Hat:

1. Open the Linux terminal.

2. Use yum to install virtualenv on CentOS, Red Hat, Fedora and related distributions:

sudo yum install python-virtualenv

Install virtualenv on MacOS

1. Open the terminal.

2. Install virtualenv on Mac using pip:

sudo python2 -m pip install virtualenv

Install virtualenv on Windows

1. Open the command line with administrator privileges.

2. Use pip to install virtualenv on Windows:

py -2 -m pip install virtualenv

Note: To install pip on Windows, follow our How to install pip on Windows guide.

Step 2: Create an Environment

1. Make a separate directory for your project:

mkdir <project name>

2. Move into the directory:

cd <project name>

3. Within the directory, create the virtual environment for Flask. When you create the environment, a new folder appears in your project directory with the environment’s name.

Create an Environment in Linux and MacOS

  • For Python 3:

To create a virtual environment for Python 3, use the venv module and give it a name:

python3 -m venv <name of environment>
  • For Python 2:

For Python 2, use the virtualenv module to create a virtual environment and name it:

python -m virtualenv <name of environment>

Listing the directory structure with the ls command shows the newly created environment:

Project directory with created virtual environment

Create an Environment in Windows

  • For Python 3:

Create and name a virtual environment in Python 3 with:

py -3 -m venv <name of environment>
  • For Python 2:

For Python 2, create the virtual environment with the virtualenv module:

py -2 -m virtualenv <name of environment>

List the folder structure using the dir command:

dir *<project name>*

The project directory shows the newly created environment:

Project directory with created virtual environment in Windows

Step 3: Activate the Environment

Activate the virtual environment before installing Flask. The name of the activated environment shows up in the CLI after activation.

Activate the Environment on Linux and MacOS

Activate the virtual environment in Linux and MacOS with:

. <name of environment>/bin/activate
Activating environment terminal change

Activate the Environment on Windows

For Windows, activate the virtual environment with:

<name of environment>\Scripts\activate
Command line change after activating the environment

Step 4: Install Flask

Install Flask within the activated environment using pip:

pip install Flask

Flask is installed automatically with all the dependencies.

Note: pip is a Python package manager. To install pip follow one of our guides: How to install pip on CentOS 7, How to install pip on CentOS 8, How to install pip on Debian, or How to install pip on Ubuntu.

Step 5: Test the Development Environment

1. Create a simple Flask application to test the newly created development environment.

2. Make a file in the Flask project folder called

3. Edit the file using a text editor and add the following code to make an application that prints "Hello world!":

from flask import Flask
app = Flask(__name__)
def hello_world():
    return 'Hello world!'

Note: Pick any name for the project except The Flask library is in a file.

4. Save the file and close.

5. Using the console, navigate to the project folder using the cd command.

6. Set the FLASK_APP environment variable.

  • For Linux and Mac:
  • For Windows:
setx FLASK_APP ""

Note: Windows users must restart the console to set the environment variable. Learn more about setting environment variables by reading one of our guides: How to set environmet variables in Linux, How to set environment variables in MacOS, How to set environment variables in Windows.

7. Run the Flask application with:

flask run
Running a flask application in terminal

The output prints out a confirmation message and the address.

8. Copy and paste the address into the browser to see the project running:

Flask app running on local server


Flask web applications are easy to configure and run. It is one of the most popular web application frameworks for Python.

Read about the best Python IDEs and code editors to choose the best environment for further web development with Flask.

Was this article helpful?
Milica Dancuk
Milica Dancuk is a technical writer at phoenixNAP with a passion for programming. With a background in Electrical Engineering and Computing, coupled with her teaching experience, she excels at simplifying complex technical concepts in her writing.
Next you should read
Best Python IDEs And Code Editors
November 6, 2023

An IDE is like a toolbox and a Code editor is like a power tool. In this article, we review 9 IDEs and 5 Code...
Read more
How to Calculate Website or Web-Based Application Bandwidth Requirements
November 12, 2020

Read through the article to learn how to determine the required bandwidth for your website and web-based...
Read more
Introduction to Python Pandas
July 28, 2020

This tutorial introduces you to basic Python Pandas concepts and commands. A selection of clear-cut images...
Read more
How to Use Comments in Python
November 25, 2019

The ability to use comments while writing code is an important skill valued among developers. These comments...
Read more