Flask ImportError:没有名为 Flask 的模块[重复]

2025-04-16 08:57:00
admin
原创
16
摘要:问题描述:我正在关注这里的 Flask 教程:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world当我尝试 ./run.py 时我得到了:Traceback (most recent call last):...

问题描述:

我正在关注这里的 Flask 教程:

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

当我尝试 ./run.py 时我得到了:

Traceback (most recent call last):
  File "./run.py", line 3, in <module>
    from app import app
  File "/Users/benjaminclayman/Desktop/microblog/app/__init__.py", line 1, in <module>
    from flask import Flask
ImportError: No module named flask

这看起来类似于:

导入错误:没有名为 flask 的模块

但他们的解决方案没什么用。作为参考,我确实有一个名为 flask 的文件夹,有位用户提到它可能会导致问题。


解决方案 1:

尝试删除你创建的虚拟环境。然后使用以下命令创建一个新的虚拟环境:

virtualenv flask

然后:

cd flask

现在让我们激活虚拟环境

source bin/activate

现在您应该(flask)在命令行的左侧看到。

编辑:在 Windows 中没有“源”,这是 Linux 的事情,而是执行 activate.bat 文件,这里我使用 Powershell 执行此操作:PS C:\DEV\aProject> & .FlaskScriptsactivate)

让我们安装 Flask:

pip install flask

然后创建一个名为hello.py(注意:见UPDATE Flask 1.0.2下文)的文件:

from flask import Flask
app = Flask(__name__)

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

if __name__ == "__main__":
    app.run()

并运行它:

python hello.py

更新 Flask 1.0.2

使用新的 Flask 版本,无需从脚本运行应用程序。 hello.py现在应该看起来像这样:

from flask import Flask
app = Flask(__name__)

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

并运行它:

FLASK_APP=hello.py flask run

确保hello.py运行最新命令时位于文件夹内。

创建 hello.py 之前的所有步骤也适用于这种情况

解决方案 2:

对于 Python 3 使用

pip3 安装 Flask

解决方案 3:

激活虚拟环境并安装 Flask 后,我创建了一个 app.py 文件。我像这样运行它:python -m flask run。希望这会有所帮助!

解决方案 4:

我唯一能解决的方法是将用户的 Python 目录添加到 myapp.wsgi 文件中。例如:

sys.path.append('/home/deployer/anaconda3/lib/python3.5/site-packages')

我想如果你在全局环境中安装软件包,那么应该不会有问题,但我以用户身份安装了我的 python 软件包。

解决方案 5:

我遇到了与 flasgger 类似的问题。

原因是我总是使用

sudo pip install flask

但出于某种原因,这并不总是可行的。有时,你不得不

pip install flask

另一个问题是,有时人们会pip install Flask大写字母 F

如果有人遇到问题,就把这个贴在这里。如果它有帮助的话,请告诉我。

有用的链接:
pip install 和 sudo pip install 有什么区别?

解决方案 6:

当我在 Windows 中遇到类似错误时,这对我有用:

  1. 安装虚拟环境:

pip install virtualenv
  1. 创建虚拟环境:

virtualenv flask
  1. 导航到脚本并激活虚拟环境:

activate
  1. 安装Flask:

python -m pip install flask
  1. 检查 Flask 是否已安装:

python -m pip list

解决方案 7:

另一件事 - 如果你正在使用 python3,请确保你使用 启动服务器python3 server.py,而不是python server.py

解决方案 8:

这对我有用,

sudo -H pip install flask

或者对于 pip3(python3)使用:

sudo -H pip3 install flask

旁注

如果您使用虚拟环境 (virtualenv),最好
pip freeze >> requirements.txt
允许将已安装的软件包列在一个地方。sudo命令和-H标志。有关标志的更多信息sudo-H请参阅Paul 的 回答。希望这对您有所帮助。

解决方案 9:

我使用的是 python2,但安装了这个:sudo apt-get install libapache2-mod-wsgi-py3

而不是: sudo apt-get install libapache2-mod-wsgi

纠正安装解决了没有烧瓶的问题。

解决方案 10:

  1. 编辑
    /etc/apache2/sites-available/FlaskApp.conf

  2. 在“WSGIScriptAlias”行之前添加以下两行:

WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp
WSGIProcessGroup FlaskApp

  1. 重新启动Apache:service apache2 restart

我也在遵循 Flask 教程。我遇到了同样的问题。我找到了这种方法来修复它。

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

解决方案 11:

就我而言,解决方案很简单,只需启动我的虚拟环境即可:

$ venv/scripts/activate

看来我对 Python 还很陌生 :)

解决方案 12:

如果您正在使用 Pycharm,那么这就是虚拟环境问题。

因此,在创建 Python 项目时,您必须选择“现有解释器”选项->单击“系统解释器”->选择正确的选项,例如“*\AppData\Local\Programs\Python\Python3.6\python.exe”。

您也可以使用“新虚拟环境”,但我刚刚给出了适用于 Pycharm 用户的快速修复方法。

解决方案 13:

以前的版本似乎在使用一个愚蠢的东西,Flask而当前版本正在使用,flask请确保使用小写的 Flask

解决方案 14:

前往 microblog 中的 flask 文件,使用 激活虚拟环境source bin/activate,然后前往 flask/bin 目录并安装 flask 以及其余软件包pip install flask。您将在 bin 目录中看到 flask 列表。尝试从 microblog(或您拥有该文件的任何位置)再次运行./run.py

解决方案 15:

我甚至也建议你使用 virtualenv,这也许可以解决你的问题。

sudo apt install python-flask

如果您想在生产服务器中部署,那么请继续上述解决方案,否则请使用虚拟环境。

解决方案 16:

解决这个问题最简单的方法是在你的环境中指定正确的 Flask 路径。确保你正在运行的脚本知道如何访问 Flask 的安装路径。使用上面提到的 print(sys.path) 肯定有助于找出脚本使用的路径。

解决方案 17:

然后进入你的python交互模式:

import sys

sys.path

它会打印你的路径。检查 flask 是否安装在 sys.path 中。

对于 MacOS,python 路径位于 /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

但是 pip 会默认在 /Library/Python/2.7/site-packages 下安装 python 包

这就是它不适用于 MacOS 的原因。

解决方案 18:

Flask 脚本非常适合启动本地开发服务器,但每次修改代码后都必须手动重启。这不太好,Flask 可以做得更好。如果启用调试支持,服务器会在代码修改后自动重新加载,并且如果出现问题,它还会提供一个有用的调试器。要启用调试模式,您可以在运行服务器之前导出 FLASK_DEBUG 环境变量:例如,您的文件是 hello.py

$ export FLASK_APP=hello.py
$ export FLASK_DEBUG=1
$ flask run

解决方案 19:

在我使用 Docker 的情况下,我的 .env 文件没有被复制,因此没有设置以下环境变量:

.环境.本地:
FLASK_APP=src/app.py

所以我Dockerfile必须包括:

FROM deploy as dev
COPY env ./env

在 docker-compose.yml 中引用

env_file: ./env/.env.local

我必须注意的另一件事是路径变量,以确保我的环境被使用

ENV PATH $CONDA_DIR/envs/:my_environment_name_from_yml_file:/bin:$CONDA_DIR/bin:$PATH```

解决方案 20:

我的回答仅针对使用 Visual Studio Flesk Web 项目的任何用户:

只需右键单击“Python 环境”,然后单击“添加环境”

解决方案 21:

我在使用 WSL 和 PyCharm / VSCode 时也遇到了类似的问题,但问题只出现在开发环境中,在生产环境中没有出现。我意识到使用 WSL 的 IDE 在从工作目录导出 PYTHONPATH 时可能会出现问题,于是我开始手动进行操作。

在运行程序之前,在 VENV 内部,尝试运行以下命令:

export PYTHONPATH="path/my_user/code"

解决方案 22:

对于你的情况,解决方案是:

第一的:

打开终端并导航到该 python 文件所在的目录/文件夹(在您的情况下,您创建的 python 文件是 run.py),并确保已在同一目录/文件夹中安装了 flask。

第二 :

现在,输入以下命令:

$python3 "pythonfilename" (在你的例子中,它是 $python3 "run.py")

成功

解决方案 23:

我遇到了同样的错误,它说找不到 flask 模块。这是我所做的:

  1. 使用 venv 创建虚拟环境 $ python3.6 -m venv --without-pip virtual

  2. 使用 source virtual/bin/activate 激活虚拟环境

  3. 下载pip进入虚拟环境curl https://bootstrap.pypa.io/get-pip.py | python

  4. 使用 pip install flask 安装 flask

运行我的应用程序后,一切都很好。

解决方案 24:

首先需要创建一个 Python 环境

像这样:

 py -m venv YOUR_DIR_NAME

解决方案 25:

您也可以尝试这个解决方法set FLASK_DEBUG=1 && python -m flask run
它对我有用

解决方案 26:

升级 pip 后它对我有用:

curl https://bootstrap.pypa.io/get-pip.py | python

在这里找到了答案:https://stackoverflow.com/a/49748494/3197202

然后我就可以安装 Flask 了:

pip install flask
相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2482  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1533  
  PLM(产品生命周期管理)项目对于企业优化产品研发流程、提升产品质量以及增强市场竞争力具有至关重要的意义。然而,在项目推进过程中,范围蔓延是一个常见且棘手的问题,它可能导致项目进度延迟、成本超支以及质量下降等一系列不良后果。因此,有效避免PLM项目范围蔓延成为项目成功的关键因素之一。以下将详细阐述三大管控策略,助力企业...
plm系统   0  
  PLM(产品生命周期管理)项目管理在企业产品研发与管理过程中扮演着至关重要的角色。随着市场竞争的加剧和产品复杂度的提升,PLM项目面临着诸多风险。准确量化风险优先级并采取有效措施应对,是确保项目成功的关键。五维评估矩阵作为一种有效的风险评估工具,能帮助项目管理者全面、系统地评估风险,为决策提供有力支持。五维评估矩阵概述...
免费plm软件   0  
  引言PLM(产品生命周期管理)开发流程对于企业产品的全生命周期管控至关重要。它涵盖了从产品概念设计到退役的各个阶段,直接影响着产品质量、开发周期以及企业的市场竞争力。在当今快速发展的科技环境下,客户对产品质量的要求日益提高,市场竞争也愈发激烈,这就使得优化PLM开发流程成为企业的必然选择。缺陷管理工具和六西格玛方法作为...
plm产品全生命周期管理   0  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用