用Gunicorn 运行flask,提示no module named app
flask项目本身用开发服务器已经可以运行,但是当用gunicorn下列命令运行:
gunicorn -w 4 -b 127.0.0.1:8004 app:app
或者
gunicorn -w 4 -b 127.0.0.1:8004 route:app
就会提示 ImportError: No module named 'app'
我的结构目录如下
app
│ config.py
│ data.db
│ forms.py
│ models.py
│ mulu.txt
│ route.py
│ __init__.py
│ templates
| static
其中app定义在__init__.py中
from flask import Flask
app = Flask(__name__)
route.py
from app import app
@app.route('/')
def hello_world():
return 'hello world'
if __name__ == '__main__':
app.run()
求解?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
切到父目录,即app的同级目录,运行
gunicorn -w 4 -b 127.0.0.1:8004 app:app
即可。原因:gunicorn的参数为<文件名>:<app实例名>,而在app目录下,是找不到app模块自己的。
wsgi:application 参数理解分两部分:
wsgi 是引导用的 python 文件名(不含后缀)
application 是 Flask 实例名称。