AWS Lambda с Zappa не работает при импорте модуля «обработчик»: нет модуля с именем «werkzeug»

После развертывания моего приложения Python с помощью Zappa и перехода по ссылке aws я вижу следующую ошибку:

введите здесь описание изображения

Когда я проверил журналы, я нашел источник ошибки:

введите здесь описание изображения

Затем я решил pip install -r requirements.txt убедиться, что он установлен в моей виртуальной среде (а она есть):

Requirement already satisfied: Werkzeug==0.12 in ./flaskapi/lib/python3.6/site-packages (from -r requirements.txt (line 41))

Что-то идет не так при загрузке в AWS. Я не уверен, является ли это основной проблемой, но я заметил, что имя пакета в журналах отличается от имени внутри файла requirements.txt. Имя пакета в журналах не начинается с заглавной буквы «W», в то время как имя пакета в requirements.txt начинается. Кроме этого, я не уверен, что я делаю неправильно.

Любая помощь приветствуется


person Nathan Ortega    schedule 06.11.2017    source источник
comment
вы используете виртуальную среду? Интересно, будет ли иметь значение вызов папки вашей виртуальной среды env.   -  person Payman    schedule 11.11.2017


Ответы (1)


Я решил эту проблему, перейдя на python 3.7. Я бы рекомендовал запустить новый virtualenv, настроенный на использование python 3.7.

если в вашей системе нет python3.7, вам нужно будет его установить. Это тот сайт, которым я пользовался. Работает и в облаке AWS9.

установка Python 3.7

virtualenv env -p python3.7 source ./env/bin/activate python --version вывод должен быть "Python 3.7.X"

затем продолжите настройку приложения, как обычно.

person Josh B.    schedule 14.06.2019