You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask应用Ubuntu环境Gunicorn启动报错:Failed to find attribute 'app' in 'app'

解决Gunicorn启动Flask应用时"Failed to find attribute 'app' in 'app'"错误

错误原因

Gunicorn加载Flask应用时,需要从指定模块中直接获取全局的Flask app实例。你的app.py中,app对象仅在if __name__ == "__main__"代码块内定义——这个代码块只有直接运行app.py(开发模式)时才会执行,Gunicorn加载模块时不会触发该分支,因此找不到所需的app属性。

解决方案

方案1:修改app.py暴露全局app实例

调整app.py代码,将app实例定义移到全局作用域:

from website import create_app

# 将app实例放在全局作用域,供Gunicorn读取
app = create_app()

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

修改完成后,用以下命令启动Gunicorn:

gunicorn app:app

方案2:直接指定Gunicorn调用create_app函数

如果不想修改app.py,可以在启动Gunicorn时直接指定调用create_app()函数生成实例:

gunicorn "app:create_app()"

注意引号必须保留,确保shell将app:create_app()识别为一个完整的参数。

额外检查点

  • 确认项目中的innit.py是__init__.py(双下划线),这是Python包的必要标识,否则from website import create_app会失败。
  • 检查apy.py是否为笔误(比如应为app.py),避免模块命名冲突。

内容的提问来源于stack exchange,提问作者masr33

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 20:36:27