代码之家  ›  专栏  ›  技术社区  ›  ViaTech

在googleappengine上运行Python37的问题

  •  1
  • ViaTech  · 技术社区  · 6 年前

    我知道有人问过这个问题,但我已经阅读了这里显示的阅读资料,我仍然没有看到我的问题所在,因为我仍然无法在谷歌应用程序引擎的Python37环境中发布我的Django 2.1.1应用程序:

    Python 3 Django on App Engine Standard: App Fails to Start

    总的来说,我尝试使用以下方法发布一个简单的应用程序引擎应用程序:

    gcloud app deploy
    

    500服务器错误消息

    当我查看谷歌的日志时,我得到了与其他许多人相同的错误:

    ModuleNotFoundError:没有名为“main”的模块

    这是我的相关目录结构

    • 项目门户

      • 初始.py

      • 网址.py

    • 主.py

    • 附录yaml

    • 要求.txt

    我的app.yaml文件

        runtime: python37
        entrypoint: gunicorn -b :$PORT project_portal.wsgi
        env: standard
    
    
        handlers:
        - url: .*
        secure: always
        redirect_http_response_code: 301
        script: project_portal.wsgi.application
    

    我的项目门户/wsgi.py文件

    import os
    
    from django.core.wsgi import get_wsgi_application
    
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project_portal.settings')
    
    application = get_wsgi_application()
    

    从项目根目录中的main.py

    from project_portal.wsgi import application
    

    django == 2.1.1
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   GAEfan    6 年前

    没有一个 entrypoint 定义后,它将尝试从一个名为 main.py . 创建一个,与 app.yaml 其中有一些简单的逻辑:

    from project_portal.wsgi import application
    

    编辑:

    定义,似乎就是问题所在。所以,确保“requirements.txt”中有gunicorn:

    gunicorn==19.9.0

    这无助于:

    尝试改变

    entrypoint: gunicorn -b :$PORT project_portal.wsgi

    entrypoint: gunicorn -b :$PORT project_portal.wsgi:application