作者:水儿本人_164 | 来源:互联网 | 2022-12-04 13:09
我正在尝试在标准Python37环境中在Google App Engine上部署Django应用程序.我已经在Flexible环境中运行了它的一个版本,但我正在创建一个我希望在标准环境中运行的暂存版本.
当我部署并访问应用程序时,我收到500错误.查看日志,我可以看到有关工作进程中异常的一些消息.我收到错误:
ModuleNotFoundError:没有名为'main'的模块
这是错误的堆栈跟踪:
Traceback(最近一次调用最后一次):
在spawn_worker worker.init_process()中输入文件"/env/lib/python3.7/site-packages/gunicorn/arbiter.py",第583行
文件"/env/lib/python3.7/site-packages/gunicorn/workers/gthread.py",第104行,在init_process super(ThreadWorker,self).init_process()中
在init_process self.load_wsgi()中输入文件"/env/lib/python3.7/site-packages/gunicorn/workers/base.py",第129行
文件"/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)
在import_app 导入(模块)中的文件"/env/lib/python3.7/site-packages/gunicorn/util.py",第350行
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,但仍然会收到相同的错误.
我看过这个问题:在App Engine上的Django - gunicorn.错误:'没有模块命名为my_project',并且my_site
确实有一个下划线,但不是camelCased.
我不确定这个错误的来源是什么.任何想法将不胜感激.
1> 小智..:
您可能需要添加entrypoint
到app.yaml
runtime: python37
entrypoint: gunicorn -b :8080 my_site.wsgi
...(remaining parts of your app.yaml)
参考:https:
//cloud.google.com/appengine/docs/standard/python3/runtime