36

Installed virtualenv, activated it, pip installed flask, and yet, when i try to run a script or see if it recognised, i get command not found.

(project)gabriel@debian:~/project$ pip list
Flask (0.10.1)
itsdangerous (0.24)
Jinja2 (2.7.3)
MarkupSafe (0.23)
pip (1.5.6)
setuptools (5.5.1)
Werkzeug (0.10.4)
(project)gabriel@debian:~/project$ flask
-bash: flask: command not found
(project)gabriel@debian:~/project$ Flask
-bash: Flask: command not found
(project)gabriel@debian:~/project$ </3

Also tried:

(project)gabriel@debian:~/project$ python -m flask pi.py
/home/gabriel/project/bin/python: No module named flask.__main__; 'flask' is a package and cannot be directly executed
(project)gabriel@debian:~/project$ 
1
  • I know this is an old question but still: if you were using virtual env it is possible your environment was messed up, just reinstall and make sure flask executable is there. Commented Dec 22, 2017 at 4:14

8 Answers 8

35

I ran into this issue while running through the tutorial for version 0.12, so for people who find this thread hitting this issue with a later version, I was able to get the server running by using:

$ python -m flask run
1
  • 2
    also for python 3 is $python3 -m flask run
    – Jenya
    Commented Dec 19, 2021 at 12:57
26

Flask 0.10 has no flask command, it was added in 0.11. If pi.py has the smarts to run your app, such as if it's using Flask-Script, the command you're looking for is:

$ python pi.py

You can install Flask-CLI to get the flask command in 0.10 if you can't upgrade to 0.11.

6
  • I was following the tutorial which used an old example instead of the one in the front page. Thank you.
    – Gabriel
    Commented May 14, 2015 at 1:41
  • Just uninstall Flask with pip uninstall flask and reinstall with pip install flask. This happened to me after i upgraded pip.
    – Boogie
    Commented May 7, 2019 at 16:20
  • @dassanctity I didn't get pip install flask anywhere and I came to this thread... I was dying since yesterday for the exact solution to my problem why my flask prog is not running and u saved me.... I installed pip but there was not specific command mentioned to install flask... Maybe I was searching something wrong bit u saved me.. Thanks a ton buddy...
    – AdiAtAnd
    Commented Jun 27, 2020 at 13:03
  • @AdiAtAnd you can find the instructions to install Flask at flask.palletsprojects.com/en/1.1.x/installation/#install-flask
    – dirn
    Commented Jun 27, 2020 at 14:03
  • Thanks @dirn only thing remaining at my side is setting up environment. My flask prog is already running. Thanks again. 🙂
    – AdiAtAnd
    Commented Jun 27, 2020 at 15:00
21

You need to upgrade flask Use the following command on the terminal in your virtual environment

pip install --upgrade Flask
1
5

I had similar issue. In my case I've moved my project to another directory and the PATH was still pointing to the old directory. I fixed it by deleting my venv and creating a new one.

Make sure your env is activated and check your path echo $PATH and make sure your <user-dir>/<proj-dir>/venv/bin exists in your PATH.

1

Verify where you have installed flask:

mortiz@florida:~/Documents/projects$ pip freeze |grep -i flask
Flask==1.0.2
mortiz@florida:~/Documents/projects$ pip2 freeze |grep -i flask
Flask==1.0.2
mortiz@florida:~/Documents/projects$ pip3 freeze |grep -i flask
Flask==1.0.2
Flask-CLI==0.4.0
Flask-Jsonpify==1.5.0
Flask-RESTful==0.3.6
Flask-SQLAlchemy==2.3.2

Verify you are installing flask for your correct python version inside your virtual environment.

Find out your python version "inside your (venv)"

mortiz@florida:~/Documents/projects/python/APIS/new_project_py_2_7$ which python
    /home/mortiz/Documents/projects/python/APIS/new_project_py_2_7/venv/bin/python

(venv) mortiz@florida:~/Documents/projects/python/APIS/new_project_py_2_7$ python --version
Python 3.5.3

Installation of flask for python3

pip3 install flask
#or
python3 -m pip install flask

Installation of flask for python2

pip2 install flask
#or
python2 -m pip install flask

Installation of flask for default python (be careful if you are inside your (venv) or in your shell)

pip install flask
python -m install flask

Explanation

For people who run higher versions of Flask consider evaluating your environment as explained here.

For me the problem was installing flask for python2 when the binary of my (venv) ran python3.

2
  • For me the problem was assuming pip and pip3 were the same - only pip3 actually installed flask in the venv! pip did ... I don't know what, and put it I don't know where.
    – mc01
    Commented Aug 14, 2023 at 19:23
  • Using 'pip' alone will install anything to the default Python found in your environment. If the default on your environment is python3, then pip probably will install the library for python3. Be careful, venv environment and your shell environment may differ in python versions. Commented Aug 14, 2023 at 19:28
0

I have used Flask 0.10.1 and to verify whether it's install you should activate the virtualenv and then type:

$ python
>>> from flask import Flask

if it runs smoothly, you have it. To run the app you can either use

app = Flask(__name__)
app.run(debug=True)

or use flask_script :

from flask_script import Manager
manager = Manager(app)
manager.run

Hope this helps you

0

I'm using version 0.12.2 and got the same issue.Here is my solution:

python -m flask run FLASK_APP=/path/to/filename.py

0

I had to activate again the virtualenv

. venv/bin/activate

This worked for me

Not the answer you're looking for? Browse other questions tagged or ask your own question.