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$ 
Gabriel
  • 5,453
  • 14
  • 63
  • 92
  • 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. – Ciasto piekarz Dec 22 '17 at 04:14

8 Answers8

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
nscalf
  • 528
  • 5
  • 10
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.

davidism
  • 121,510
  • 29
  • 395
  • 339
dirn
  • 19,454
  • 5
  • 69
  • 74
  • I was following the tutorial which used an old example instead of the one in the front page. Thank you. – Gabriel May 14 '15 at 01:41
  • Just uninstall Flask with `pip uninstall flask` and reinstall with `pip install flask`. This happened to me after i upgraded pip. – Boogie May 07 '19 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 Jun 27 '20 at 13:03
  • @AdiAtAnd you can find the instructions to install Flask at https://flask.palletsprojects.com/en/1.1.x/installation/#install-flask – dirn Jun 27 '20 at 14:03
  • Thanks @dirn only thing remaining at my side is setting up environment. My flask prog is already running. Thanks again. – AdiAtAnd Jun 27 '20 at 15:00
  • My pleasure @AdiAtAnd. – Boogie Jul 11 '20 at 06:41
21

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

pip install --upgrade Flask
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.

artronics
  • 1,399
  • 2
  • 19
  • 28
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.

Miguel Ortiz
  • 1,412
  • 9
  • 21
  • 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 Aug 14 '23 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. – Miguel Ortiz Aug 14 '23 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

Lian
  • 1
  • 1
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

yongyu
  • 97
  • 1
  • 8
0

I had to activate again the virtualenv

. venv/bin/activate

This worked for me

jon
  • 121
  • 8