已在 virtualenv 中安装 Flask "command not found"

Installed Flask in a virtualenv yet "command not found"

安装了 virtualenv,激活它,pip 安装了 flask,然而,当我尝试 运行 一个脚本或查看它是否被识别时,我得到命令未找到。

(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

也尝试过:

(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$ 

Flask 0.10 没有 flask 命令,它是在 0.11 中添加的。如果 pi.py 具备 运行 您的应用程序的智能,例如它使用 Flask-Script,您正在寻找的命令是:

$ python pi.py

如果您无法升级到 0.11,可以安装 Flask-CLI 以在 0.10 中获取 flask 命令。

我 运行 在 运行 通过版本 0.12 的教程时解决了这个问题,所以对于发现此线程在更高版本中遇到此问题的人,我能够获得服务器 运行 通过使用:

$ python -m flask run

我已经使用了 Flask 0.10.1 并且要验证它是否已安装,您应该激活 virtualenv 然后键入:

$ python
>>> from flask import Flask

如果它 运行 很顺利,你就有了。 要 运行 该应用程序,您可以使用

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

或使用flask_script:

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

希望对您有所帮助

我使用的是 0.12.2 版本并且得到了相同的 issue.Here 是我的解决方案:

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

验证您安装 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

确认您正在为虚拟环境中的正确 python 版本安装 Flask。

找出你的 python 版本 "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

为 python3

安装烧瓶
pip3 install flask
#or
python3 -m pip install flask

为 python2

安装烧瓶
pip2 install flask
#or
python2 -m pip install flask

默认安装烧瓶python(如果你在你的(venv)或shell里面要小心)

pip install flask
python -m install flask

Explanation

对于 运行 更高版本 Flask 的人考虑将您的环境评估为 explained here

对我来说,问题是在我的 (venv) 运行 python3 的二进制文件中为 python2 安装 flask。

您需要升级烧瓶 在您的虚拟环境中的终端上使用以下命令

pip install --upgrade Flask

我不得不再次激活 virtualenv

. venv/bin/activate

这对我有用

我有类似的问题。就我而言,我已将我的项目移至另一个目录,并且 PATH 仍指向旧目录。我通过删除我的 venv 并创建一个新的来修复它。

确保您的环境已激活并检查您的路径 echo $PATH 并确保您的 <user-dir>/<proj-dir>/venv/bin 存在于您的 PATH.