python - 模块未找到错误: No module named 'flask'

标签 python flask

读完这篇文章的标题后,不要尝试先复制,因为这里的内容可能会以不同的方式被问到。顺便说一句,我对 python 很陌生,现在为了工作需求开始学习。

这是我的依赖项

virtualenv --version => 15.0.2

pip --version => 19.0.3

flask --version => 1.0.2,Python 2.7.10(默认,2018 年 8 月 17 日,19:45:58)

python --version => 3.7.1

而且,这是我的 main.py 源代码

from flask import Flask
app = Flask(__name__)

@app.route("/")
def home():
    return "Hello, World!"

问题是当我像 python main.py

那样渲染时遇到以下错误

Traceback (most recent call last): File "main.py", line 1, in from flask import Flask ModuleNotFoundError: No module named 'flask'

但是当我像 FLASK_APP=main.pyflask run 那样渲染时,它正在工作。请告诉我 python ...FLASH_APP= ...

之间有何区别

最佳答案

pip 出于某种原因可以指向系统范围的 pip(在许多系统上对应于 Python 2.7)。要从 virtualenv 使用 pip,请使用 python -m pip 命令。下面的命令就可以解决这个问题:

pip uninstall flask && python -m pip install flask

另一种可能性是您通过apt而不是pip安装了flask。这是两者之间的区别:What is the difference between `sudo apt install python3-flask` and `pip3 install Flask`?

现在,flask 命令在系统范围内可用。

如果是这种情况,使用 apt 卸载 Flask 并使用 pip 安装它应该可以解决问题:

sudo apt remove python-flask
pip install flask

(我猜测 apt 包名为 python-flask

关于python - 模块未找到错误: No module named 'flask' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55116381/

相关文章:

python - 如何将 Pandas 数据框中的多列弹出到新的数据框中?

python - Django 请求数据返回 str 而不是 list

python - Flask View 中装饰器的顺序是否重要?

python - 在 flask 中创建 query_string 时出错

Flask:如何存储和检索绑定(bind)到请求的值

python - 什么时候不适合使用 python 生成器?

python - 查找csv文件中的列数

Python长格式: subtract selection of rows

javascript - Axios POST 请求失败,错误状态代码 500 : Internal Server error

python - 上传后 Flask 重定向不起作用