python - Flask在开发模式下无法运行,找不到flask模块
问题描述
我在 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 flask
给D:\miniconda3\Scripts\flask.exe
但pip show flask
给Location: d:\miniconda3\lib\site-packages
. 但是 pip 提供的位置不包含任何 flask.exe 文件。
解决方案
建议使用该flask run
命令,但目前 Windows 上的 Werkzeug 存在问题。在修复错误之前,请参阅Windows 上的 Flask reloader crashs with "no module named Scripts\flask" 以获取解决方法。
如果您不想使用该解决方法,您可以添加一个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)
推荐阅读
- sql - 当时间戳之间存在间隙时如何使用时间戳获取数据然后在oracle中连续显示的间隙记录数
- java - 邮递员请求不起作用 - Rest APi 实现
- pandas - 您将如何绘制真正代表分类变量的 pandas 系列浮点数?
- javascript - 等待每个回调
- kubernetes - Kubernetes 入口日志:使用完整的中间链 CA 证书生成 SSL 证书时出现意外错误
- javascript - jquery - 在 div 的循环中加载多个外部 html
- javascript - ESRI WAB 自定义小部件弹出窗口在 1 秒后消失
- python - 无法从 SNMPsim 获得响应
- python - Keras lambda 层错误的输出大小
- jquery - rowReorder JQuery 数据表,获取 clientX