我原本希望得到以下内容,但是我只是停留在这一点上。
* Serving Flask app "app"
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
在终端中,我尝试运行FLASK_APP=run.py flask run
,然后获取
ModuleNotFoundError:没有名为“ my_app”的模块
当我尝试将命令中的名称更改为FLASK_APP=__init__.py flask run
时,我得到了
错误:无法在模块“ myProject”中找到应用程序。您确定它包含Flask应用程序吗?也许您将其包装在WSGI中间件中,或者正在使用工厂功能。
这是我的项目结构
myProject/
|—my_app/
|— source/
|— __init__.py
|— other .py files
|— static/
|— templates/
|— __init__.py
|— someFile.sqlite
|— run.py
myProject/run.py
包含两行代码:
from my_app import app
app.run()
myProject/__init__.py
不包含任何内容,空白。
myProject/source/__init__.py
也为空(但我想这些文件只需要在这里吗?)
感谢进阶!
edit:我在PyCharm下运行文件时遇到麻烦,但是当我在Spyder Anaconda中运行文件run.py时,我得到了预期的消息,指出服务器正在运行。为什么它在Spyder上有效,但在PyCharm上无效?
答案 0 :(得分:0)
输入主题之前,您应该在ptr2
文件夹下创建一个__init__.py
,它将变成一个python包,以便可以导入。
执行my_app
时,flask将在用flask run
指定的模块中查找app
实例,因此在这种情况下不需要FLASK_APP
。
您需要做什么?
app.run()
。run.py
设置为创建烧瓶FLASK_APP
实例(可能是app
)的模块名称/导入路径。my_app.source
。答案 1 :(得分:0)
找到上述问题的解决方案! PyCharm->偏好设置->项目解释器->(未安装烧瓶),所以我点击+按钮添加软件包,搜索并安装了烧瓶。关闭首选项后,我返回并运行run.py并成功了!我知道我使用的解释器中缺少该软件包的原因是,当我运行run.py时,我会得到“…/ .conda / envs / python3.6 / bin / python:没有名为flask的模块。”在终端上运行pip show flask时已经注意到,它给了我安装位置“位置:/Users/me/anaconda3/lib/python3.6/site-packages”。在查看两个路径位置时,我确定翻译器的位置不正确,因此当我更改路径时,它便开始工作。
此外,我不必在终端中使用任何命令来启动服务器。我只运行run.py文件。希望我的解释有意义。谢谢大家!