Бессерверный фреймворк + Django: Невозможно импортировать XYZ.wsgi.application
Я пытаюсь установить Django с serverless framework с помощью serverless-wsgi
плагина.
Это мой serverless.yml
файл
provider:
name: aws
runtime: python3.8
plugins:
- serverless-wsgi
- serverless-python-requirements
functions:
api:
handler: wsgi_handler.handler
events:
- http: ANY /
- http: ANY /{proxy+}
custom:
pythonRequirements:
fileName: requirements.txt
usePipenv: false
dockerizePip: non-linux
wsgi:
app: sls_django_minimal.wsgi.application
packRequirements: false
Когда я пытаюсь получить доступ к API/сайту после развертывания, я получаю следующую ошибку
Stacktrace
/var/task/wsgi_handler.py
48
raise Exception("Unable to import {}".format(config["app"]))
^ Exception Unable to import sls_django_minimal.wsgi.application
/var/task/wsgi_handler.py
115
wsgi_app = import_app(config)
<frozen importlib._bootstrap>
219
<frozen importlib._bootstrap_external>
843
<frozen importlib._bootstrap>
671
<frozen importlib._bootstrap>
975
<frozen importlib._bootstrap>
991
<frozen importlib._bootstrap>
1014
/var/lang/lib/python3.8/importlib/__init__.py
127
return _bootstrap._gcd_import(name[level:], package, level)
/var/task/serverless_sdk/__init__.py
56
user_module = import_module(user_module_name)
/var/task/s_api.py
20
user_handler = serverless_sdk.get_user_handler('wsgi_handler.handler')
/var/task/s_api.py
25
raise e
/var/task/serverless_sdk/__init__.py
144
return user_handler(event, context)
/var/runtime/bootstrap.py
127
response = request_handler(event, lambda_context)
/var/task/s_api.py
25
raise e
/var/task/serverless_sdk/__init__.py
144
return user_handler(event, context)
/var/runtime/bootstrap.py
127
response = request_handler(event, lambda_context)
/var/task/s_api.py
25
raise e
/var/task/serverless_sdk/__init__.py
144
return user_handler(event, context)
/var/runtime/bootstrap.py
127
response = request_handler(event, lambda_context)
/var/task/s_api.py
25
raise e
/var/task/serverless_sdk/__init__.py
144
return user_handler(event, context)
/var/runtime/bootstrap.py
127
response = request_handler(event, lambda_context)
/var/task/s_api.py
25
raise e
/var/task/serverless_sdk/__init__.py
144
return user_handler(event, context)
/var/runtime/bootstrap.py
127
response = request_handler(event, lambda_context)
/var/task/s_api.py
25
raise e
/var/task/serverless_sdk/__init__.py
144
return user_handler(event, context)
/var/task/serverless_sdk/__init__.py
456
yield
Журнал ошибок
[ERROR] Exception: Unable to import sls_django_minimal.wsgi.application Traceback (most recent call last): File "/var/task/serverless_sdk/__init__.py", line 144, in wrapped_handler return user_handler(event, context) File "/var/task/s_api.py", line 25, in error_handler raise e File "/var/runtime/bootstrap.py", line 127, in handle_event_request response = request_handler(event, lambda_context) File "/var/task/serverless_sdk/__init__.py", line 144, in wrapped_handler return user_handler(event, context) File "/var/task/s_api.py", line 25, in error_handler raise e File "/var/runtime/bootstrap.py", line 127, in handle_event_request response = request_handler(event, lambda_context) File "/var/task/serverless_sdk/__init__.py", line 144, in wrapped_handler return user_handler(event, context) File "/var/task/s_api.py", line 25, in error_handler raise e File "/var/runtime/bootstrap.py", line 127, in handle_event_request response = request_handler(event, lambda_context) File "/var/task/serverless_sdk/__init__.py", line 144, in wrapped_handler return user_handler(event, context) File "/var/task/s_api.py", line 25, in error_handler raise e File "/var/runtime/bootstrap.py", line 127, in handle_event_request response = request_handler(event, lambda_context) File "/var/task/serverless_sdk/__init__.py", line 144, in wrapped_handler return user_handler(event, context) File "/var/task/s_api.py", line 25, in error_handler raise e File "/var/runtime/bootstrap.py", line 127, in handle_event_request response = request_handler(event, lambda_context) File "/var/task/serverless_sdk/__init__.py", line 144, in wrapped_handler return user_handler(event, context) File "/var/task/s_api.py", line 25, in error_handler raise e File "/var/task/s_api.py", line 20, in <module> user_handler = serverless_sdk.get_user_handler('wsgi_handler.handler') File "/var/task/serverless_sdk/__init__.py", line 56, in get_user_handler user_module = import_module(user_module_name) File "/var/lang/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 843, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/var/task/wsgi_handler.py", line 115, in <module> wsgi_app = import_app(config) File "/var/task/wsgi_handler.py", line 48, in import_app raise Exception("Unable to import {}".format(config["app"]))
Что вызывает проблему? Как я могу устранить проблему?
Примечание
- Надеюсь, это репо поможет воспроизвести проблему.