在 Google App Engine 上发布 运行 Python37

Issue running Python37 on Google App Engine

我知道有人在某个方面问过这个问题,但我已经阅读了此处所示的资料,但我仍然没有看到我的问题出在哪里,因为我仍然无法发布我的 Django 2.1.1 应用程序在 Python37 App Engine 中的 Python37 环境中:

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

gcloud app deploy

我的应用程序在本地运行,但当我发布时,它顺利通过,但我遇到了烦人的事情:

500 Server Error message

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

ModuleNotFoundError: No module named 'main'

这里是我的相关目录结构

project_portal

我的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

我的project_portal/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

从requirements.txt

django == 2.1.1

如果没有定义 entrypoint,它将尝试从名为 main.py 的文件开始。创建一个,与 app.yaml 处于同一级别,其中包含一些简单的逻辑:

from project_portal.wsgi import application

编辑:

由于您定义了 entrypoint,看来这就是问题所在。因此,请确保您的 'requirements.txt' 中有 gunicorn:

gunicorn==19.9.0

这没有帮助:

尝试更改

entrypoint: gunicorn -b :$PORT project_portal.wsgi

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