Я получаю одну и ту же ошибку в течение нескольких часов, независимо от того, какие изменения кода я делаю, и она ссылается на Babel, зависимость, которую я специально не вызываю или не использую, хотя я предполагаю, что она вызывается по причине.Это происходит от функции, которая должна использовать flask-table
для динамического рендеринга HTML-кода для создания таблицы.
2018-06-08 21:30:12,121: [2018-06-08 21:30:12,114] ERROR in app: Exception on /checkin_home/ [POST]
2018-06-08 21:30:12,121: Traceback (most recent call last):
2018-06-08 21:30:12,121: File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1982, in wsgi_app
2018-06-08 21:30:12,121: response = self.full_dispatch_request()
2018-06-08 21:30:12,121: File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1614, in full_dispatch_request
2018-06-08 21:30:12,122: rv = self.handle_user_exception(e)
2018-06-08 21:30:12,122: File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1517, in handle_user_exception
2018-06-08 21:30:12,122: reraise(exc_type, exc_value, tb)
2018-06-08 21:30:12,122: File "/usr/local/lib/python3.6/dist-packages/flask/_compat.py", line 33, in reraise
2018-06-08 21:30:12,122: raise value
2018-06-08 21:30:12,122: File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1612, in full_dispatch_request
2018-06-08 21:30:12,122: rv = self.dispatch_request()
2018-06-08 21:30:12,122: File "/usr/local/lib/python3.6/dist-packages/flask/app.py", line 1598, in dispatch_request
2018-06-08 21:30:12,123: return self.view_functions[rule.endpoint](**req.view_args)
2018-06-08 21:30:12,123: File "/my/working_dir/path/mysite/project/mci.py", line 49, in checkin_home_post
2018-06-08 21:30:12,123: return checkin_search_module.checkin_search(event_guid=event_guid, input_string=input_string)
2018-06-08 21:30:12,123: File "/my/working_dir/path/mysite/project/checkin_search_module.py", line 3, in checkin_search
2018-06-08 21:30:12,123: from flask_table import Table, Col
2018-06-08 21:30:12,123: File "/my/working_dir/path/.local/lib/python3.6/site-packages/flask_table/__init__.py", line 1, in <module>
2018-06-08 21:30:12,123: from .table import Table, create_table
2018-06-08 21:30:12,123: File "/my/working_dir/path/.local/lib/python3.6/site-packages/flask_table/table.py", line 8, in <module>
2018-06-08 21:30:12,124: from .columns import Col
2018-06-08 21:30:12,124: File "/my/working_dir/path/.local/lib/python3.6/site-packages/flask_table/columns.py", line 161, in <module>
2018-06-08 21:30:12,124: class BoolCol(OptCol):
2018-06-08 21:30:12,124: File "/my/working_dir/path/.local/lib/python3.6/site-packages/flask_table/columns.py", line 166, in BoolCol
2018-06-08 21:30:12,124: yes_display = _('Yes')
2018-06-08 21:30:12,124: File "/usr/local/lib/python3.6/dist-packages/flask_babel/__init__.py", line 539, in gettext
2018-06-08 21:30:12,124: t = get_translations()
2018-06-08 21:30:12,124: File "/usr/local/lib/python3.6/dist-packages/flask_babel/__init__.py", line 214, in get_translations
2018-06-08 21:30:12,124: babel = current_app.extensions['babel']
2018-06-08 21:30:12,125: KeyError: 'babel'
На базовом уровне ошибка выглядит следующим образом: он ищет ключ babel
в current_app.extensions
и не находит его.
Я попытался переустановить flask-table
через pip
(с зависимостью от Babel), и время истекло, и я также попытался переустановить Babel
напрямую, на всякий случай, и это тоже былона свидание.Это Python 3.6.
Есть еще более конкретные ссылки вплоть до args
и импорта, специфичные для моего кода, в строках 15-25 этой ошибки, но если я запускаю этот же код в консоли,все нормально, работает как положено.Просто когда я помещаю это во Flask, это не работает.Остальная часть приложения и маршруты функционируют нормально, только когда я POST
до checkin_home
, я получаю ошибку 500 выше.
Из исследования, которое я смог провести, кажется,что-то связанное с тем, как __init__.py
в данном каталоге обрабатывается «контекстом приложения», но я, честно говоря, действительно не знаю, что это значит или как это исправить.Все, что я знаю, это файл в модулях, который сообщает Python, что они модули.У меня есть другое приложение Flask, которое отображает аналогичную таблицу HTML в той же среде, которая работает нормально.
Я могу опубликовать аппроксимацию кода, но это займет тонну запутывания конфиденциальной информации, поэтому, прежде чем я сделаю это, я хотел бы знать, возможно ли, это что-то простое, я просто невидя.