#python #flask #flask-injector
Вопрос:
Я столкнулся с проблемой с моим приложением Flask из-за модуля FlaskInjector (Колба-инжектор==0.12.3) после обновления колбы до 2.0.0 и Werkzeug до 2.0.1.
Но когда вы понизите рейтинг Flask до 1.1.2 и Werkzeug до 1.0.1, мое приложение может запуститься. Я не совсем понимаю проблему, когда Flask выпустил новую версию.
[2021-05-21 08:34:46 0700] [1] [INFO] Starting gunicorn 20.0.4
[2021-05-21 08:34:46 0700] [1] [INFO] Listening at: http://0.0.0.0:5000 (1)
[2021-05-21 08:34:46 0700] [1] [INFO] Using worker: threads
[2021-05-21 08:34:46 0700] [9] [INFO] Booting worker with pid: 9
Exception in worker process
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
worker.init_process()
File "/usr/local/lib/python3.7/site-packages/gunicorn/workers/gthread.py", line 92, in init_process
super().init_process()
File "/usr/local/lib/python3.7/site-packages/gunicorn/workers/base.py", line 119, in init_process
self.load_wsgi()
File "/usr/local/lib/python3.7/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi
self.wsgi = self.app.wsgi()
File "/usr/local/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 49, in load
return self.load_wsgiapp()
File "/usr/local/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 39, in load_wsgiapp
return util.import_app(self.app_uri)
File "/usr/local/lib/python3.7/site-packages/gunicorn/util.py", line 358, in import_app
mod = importlib.import_module(module)
File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/app/api/app.py", line 5, in <module>
app, app_injector = create_app(FLASK_ENV)
File "/app/api/__init__.py", line 40, in create_app
injector = FlaskInjector(app=app, modules=[configure])
File "/usr/local/lib/python3.7/site-packages/flask_injector/__init__.py", line 327, in __init__
process_dict(container, injector)
File "/usr/local/lib/python3.7/site-packages/flask_injector/__init__.py", line 379, in process_dict
elif hasattr(value, '__call__'):
File "/usr/local/lib/python3.7/site-packages/werkzeug/local.py", line 422, in __get__
obj = instance._get_current_object()
File "/usr/local/lib/python3.7/site-packages/werkzeug/local.py", line 544, in _get_current_object
return self.__local() # type: ignore
File "/usr/local/lib/python3.7/site-packages/flask/globals.py", line 33, in _lookup_req_object
raise RuntimeError(_request_ctx_err_msg)
RuntimeError: Working outside of request context.
This typically means that you attempted to use functionality that needed
an active HTTP request. Consult the documentation on testing for
information about how to avoid this problem.
Worker exiting (pid: 9)
[2021-05-21 08:34:48 0700] [1] [INFO] Shutting down: Master
[2021-05-21 08:34:48 0700] [1] [INFO] Reason: Worker failed to boot.
Комментарии:
1. У тебя есть какое-нибудь решение для этого ?