我知道这个问题已经过一些方面了,但是我已经阅读了如下所示的内容,但仍然无法看到问题所在,因为我仍然无法在Django 2.1.1应用中发布Google App Engine中的Python37环境:
Python 3 Django on App Engine Standard: App Fails to Start
总体上,我正在尝试使用以下方法发布一个简单的App Engine应用程序:
gcloud app deploy
我的应用程序在本地工作,但是当我发布时,它没有问题,但是很烦人:
500服务器错误消息
当我查看Google中的日志时,会遇到与许多其他错误相同的错误:
ModuleNotFoundError:没有名为“ main”的模块
这是我的相关目录结构
project_portal
project_portal
init.py
settings.py
urls.py
wsgi.py
main.py
app.yaml
requirements.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
我的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
from requirements.txt
django == 2.1.1
答案 0 :(得分:3)
如果未定义entrypoint
,它将尝试从名为main.py
的文件开始。创建一个与app.yaml
相同级别的代码,并添加一些简单逻辑:
from project_portal.wsgi import application
编辑:
由于定义了entrypoint
,因此似乎是问题所在。因此,请确保您的“ requirements.txt”中包含金枪鱼:
gunicorn==19.9.0
这没有帮助:
尝试更改
entrypoint: gunicorn -b :$PORT project_portal.wsgi
到
entrypoint: gunicorn -b :$PORT project_portal.wsgi:application