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

YAML Entrypoint配置疑问:gunicorn中main模块应替换为哪项?

Gunicorn Entrypoint 中「main」位置的填写说明及错误排查

Gunicorn 的 entrypoint 格式是 模块名:WSGI应用实例,这里的「main」需要替换为你的Python文件的模块名(不带.py后缀),前提是该文件中导出了名为app的WSGI应用实例(比如Flask的app = Flask(__name__)、Django的application,如果是Django要对应改成savapp:application)。

针对你遇到的ModuleNotFoundError: No module named 'savapp'错误,按以下步骤排查:

  • 确认文件命名与路径
    确保你的应用根文件确实是savapp.py,且该文件位于GAE部署的根目录下(即和app.yaml同一层级)。Linux环境大小写敏感,注意文件名不要有大小写拼写错误(比如不要写成SavApp.py)。

  • 检查Python模块搜索路径
    如果savapp.py在子目录中,需要将该目录设为Python可识别的模块:

    1. 在子目录下创建空的__init__.py文件(Python3.3+可省略,但建议添加以兼容更多环境)
    2. entrypoint 改为子目录名.savapp:app,比如文件在src/savapp.py,则写src.savapp:app
  • 验证文件内的应用实例
    打开savapp.py,确认里面存在名为app的WSGI实例:

    # Flask示例
    from flask import Flask
    app = Flask(__name__)
    
    # Django示例(需修改entrypoint为savapp:application)
    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
    

    如果实例名不是app,要对应修改entrypoint,比如实例叫my_app,则写savapp:my_app

  • 本地先测试再部署
    在本地项目根目录运行以下命令,确认Gunicorn能正常启动:

    gunicorn -b :8080 savapp:app
    

    如果本地也报错,先解决本地问题再执行gcloud app deploy

  • 检查app.yaml配置
    确保app.yaml中的runtime配置正确(比如runtime: python311),entrypoint格式无误:

    runtime: python311
    entrypoint: gunicorn -b :$PORT savapp:app
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 16:46:03