【问题标题】:Flask can't run in development mode, can't find flask module [duplicate]Flask无法在开发模式下运行,找不到flask模块[重复]
【发布时间】:2019-09-04 15:29:07
【问题描述】:

我在 Windows 上,使用 git bash。 如果 Flask 不在开发模式下,我可以运行它。如果我将 FLASK_ENV 设置为“开发”以尝试触发调试和其他有用的事情,那么 flask run 会失败。

错误信息很奇怪。

$ flask run
 * Serving Flask app "Neuroethics_Behavioral_Task" (lazy loading)
 * Environment: development
 * Debug mode: on
 * Restarting with stat
d:\miniconda3\python.exe: No module named D:\miniconda3\Scripts\flask

奇怪的是……在D:\miniconda3\Scripts目录下,有一个flask.exe或者flask应用文件。 通过输入“where flask”,我得到了返回D:\miniconda3\Scripts\flask.exe。所以这个可执行文件肯定存在于他们试图寻找的位置,但即便如此,当我尝试进行烧瓶运行时,Flask 似乎也找不到它。

我该如何处理?

编辑:更多信息。这似乎与我之前在 Anaconda 中安装了 Flask,使用 conda uninstall flask 将其从 anaconda 中删除,然后使用 pip 安装它的事实有关。

where flaskD:\miniconda3\Scripts\flask.exe

但是pip show flask 给出了Location: d:\miniconda3\lib\site-packages。但是 pip 提供的位置不包含任何 flask.exe 文件。

【问题讨论】:

  • 如果你只运行包含你的烧瓶应用程序的python文件会发生什么,比如“python app.py”
  • @Samlegesse 目前包含我的烧瓶应用程序的python文件是__init__.py。目前我的烧瓶应用程序的目录中没有其他 python 文件,因为这应该是一个非常简单的 Web 应用程序。尝试python __init__.py 不会向终端返回任何内容
  • 如果它只是一个简单的烧瓶应用程序,您应该能够在底部添加一个 if main 检查,然后执行 app.run()。类似于本教程中的基本 app.py 示例realpython.com/flask-by-example-part-1-project-setup
  • 对不起。所以是的,编辑__init__.py 以添加如果主检查(并且还设置app = Flask(__name__)) 然后运行python __init__.py... 在启用调试模式的情况下工作。
  • 太好了,很高兴它成功了!到时候我会把它添加为官方答案。

标签: python flask


【解决方案1】:

建议使用flask run 命令,但目前在 Windows 上使用 Werkzeug 存在问题。在修复错误之前,请参阅Flask reloader crashes with "no module named Scripts\flask" on Windows 以了解解决方法。

如果您不想使用该解决方法,您可以添加一个if __name__ == "__main__" 块并直接调用app.run(debug=True),以python app.py 运行它。同样,这不是运行 Flask 的推荐方式,还有另一种解决该错误的方法。

from flask import Flask

app = Flask(__name__)

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

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

【讨论】:

  • 再想一想,我们几乎找到了解决方案 服务器现在以调试模式启动。但是现在通过浏览器访问地址 127.0.0.1:5000/ 只会得到 404 错误,“在服务器上找不到请求的 url。我尝试向 app.run() 添加主机参数,我尝试将其设置为127.0.0.1 但那不起作用。
  • 嗯,你能用你的烧瓶应用程序的总结版本更新这个问题吗?只是相关部分,无需在每个 app.route 中包含详细信息
猜你喜欢
  • 1970-01-01
  • 2020-01-05
  • 1970-01-01
  • 1970-01-01
  • 2015-08-24
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 2020-06-13
相关资源
最近更新 更多