我知道有人问过这个问题,但我已经阅读了这里显示的阅读资料,我仍然没有看到我的问题所在,因为我仍然无法在谷歌应用程序引擎的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
没有一个 entrypoint 定义后,它将尝试从一个名为 main.py . 创建一个,与 app.yaml 其中有一些简单的逻辑:
entrypoint
main.py
app.yaml
编辑:
定义,似乎就是问题所在。所以,确保“requirements.txt”中有gunicorn:
gunicorn==19.9.0
这无助于:
尝试改变
entrypoint: gunicorn -b :$PORT project_portal.wsgi
到
entrypoint: gunicorn -b :$PORT project_portal.wsgi:application