【发布时间】: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 flask 给D:\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... 在启用调试模式的情况下工作。 -
太好了,很高兴它成功了!到时候我会把它添加为官方答案。