首页 文章

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

提问于
浏览
5

我正在尝试在标准Python37环境中在Google App Engine上部署Django应用程序 . 我已经在Flexible环境中运行了它的一个版本,但我正在创建一个我希望在标准环境中运行的暂存版本 .

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

ModuleNotFoundError:没有名为'main'的模块

这是错误的堆栈跟踪:

Traceback(最近一次调用最后一次):文件“/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行,在load return 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:没有模块名为'主'

我没有修改 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 in:https://cloud.google.com/python/django/appengine非常接近 . 我也尝试将 script 更改为 auto ,如下所示:https://cloud.google.com/appengine/docs/standard/python3/config/appref,但仍然会得到相同的错误 .

我看过这个问题:Django - gunicorn on App Engine. Error: 'No Module Named my_project'my_site 确实有一个下划线,但不是camelCased .

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

1 回答

相关问题