Python Flask import Ошибка модуля, который не импортируется
У меня есть фляжное приложение, работающее в Google App Engine. Вчера я развернул новую версию своего приложения, в которой меняю только стиль HTML. Он развернулся, как и предполагалось. Сегодня я понял, что не менял заголовок для каждой соответствующей HTML-страницы, поэтому я изменил только тег заголовка на каждой HTML-странице. Я снова развернул приложение, и теперь я получаю эту странную ошибку Import Error для модуля, который я даже никогда не использовал. Как я могу это исправить?
Ошибка:
ImportError: cannot import name 'json' from 'itsdangerous' (/layers/google.python.pip/pip/lib/python3.7/site-packages/itsdangerous/__init__.py)
РЕДАКТИРОВАТЬ 24 ФЕВРАЛЯ 2022 г.:
как видите, исходная папка python3.7 заменена на python3.9.
Это нормально в GAE?
4 ответа
Эта проблема на GitHub Flask связана.
Либо обновитесь до Flask>2, либо, если это невозможно, закрепите itsDangerous<2 и MarkupSafe<2.
Чтобы закрепить более ранние версии в файле requirements.txt:
flask==1.1.4
itsdangerous==1.1.0
markupsafe==1.1.1
У меня была такая же проблема сегодня. я использовал
flask=1.1.2
, и когда я обновил версию до
flask==2.0.3
, проблема с импортом была решена.
Это вызвано изменениями в зависимостях Flask. Другой вопрос по этому поводу был задан на ServerFault.
Вы можете либо перейти на Flask>2, либо мне пришлось перейти на itsdangerous==2.0.1, если вы не можете этого сделать.