App Engine 标准上的 Python 3 Django:应用程序无法启动

我正在尝试在标准 Python37 环境中的 Google App Engine 上部署 Django 应用程序。我已经有一个在灵活环境中运行良好的版本,但我正在创建一个我想在标准环境中运行的暂存版本。

当我部署并访问该应用程序时,出现 500 错误。查看日志,我可以看到一些有关工作进程异常的消息。我收到错误:

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

这是错误的堆栈跟踪:

回溯(最近一次调用最后一次):

文件“/env/lib/python3.7/site-packages/gunicorn/arbiter.py”,第 583 行,在 spawn_worker worker.init_process() 中

文件“/env/lib/python3.7/site-packages/gunicorn/workers/gthread.py”,第 104 行,在 init_process super(ThreadWorker, self).init_process()

文件“/env/lib/python3.7/site-packages/gunicorn/workers/base.py”,第 129 行,在 init_process self.load_wsgi()

文件“/env/lib/python3.7/site-packages/gunicorn/workers/base.py”,第138行,在load_wsgi self.wsgi = self.app.wsgi()

文件“/env/lib/python3.7/site-packages/gunicorn/app/base.py”,第 67 行,在 wsgi self.callable = self.load()

文件“/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py”,第52行,加载返回self.load_wsgiapp()

文件“/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py”,第41行,在load_wsgiapp中返回util.import_app(self.app_uri)

文件“/env/lib/python3.7/site-packages/gunicorn/util.py”,第 350 行,在 import_app 导入(模块)中

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

my_site/wsgi.py自从 Django 为我创建以来,我就没有修改过,这里是:

import os


from django.core.wsgi import get_wsgi_application


os.environ.setdefault("DJANGO_SETTINGS_MODULE", "my_site.settings")


application = get_wsgi_application()

这是我的app.yaml:


runtime: python37

env: standard


beta_settings:

    cloud_sql_instances: project:us-west1:sql-instance


handlers:

- url: /static

  static_dir: staticfiles/

- url: .*

  secure: always

  redirect_http_response_code: 301

  script: my_site.wsgi.application


env_variables:

  # vars

这与以下内容非常匹配app.yaml:https://cloud.google.com/python/django/appengine。我也尝试更改script为auto如下所示:https://cloud.google.com/appengine/docs/standard/python3/config/appref,但仍然得到相同的错误。


我看过这个问题:Django - App Engine 上的 gunicorn。错误: 'No Module Named my_project',其中my_site确实有下划线,但不是驼峰式的。


我不确定这个错误的根源是什么。任何想法将不胜感激。


元芳怎么了
浏览 188回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python