无法导入模块“处理程序”:没有名为“ werkzeug”的模块

时间:2019-07-27 03:38:14

标签: django aws-lambda pip python-3.6 zappa

我突然开始在使用zappa的Django + AWS lambda设置上收到此错误。我在Bitbucket管道上使用ubuntu 18.04映像来触发部署。

  

无法导入模块“处理程序”:没有名为“ werkzeug”的模块

python3.6zappa==0.42.2的运行状况良好,直到最后一次部署于2019年7月25日为止。我以为这是由于应用程序中的一些代码更改引起的(即使代码更改与pip模块无关-只是应用程序代码库上的一些更新),但即使还原到以前的部署,现在也会引发此错误。

我的zappa配置中有一个slim_handler: true

{
    "staging": {
        "project_name": "myapp",
        "slim_handler": true,
        "runtime": "python3.6",
        "log_level": "WARNING",
        "timeout_seconds": 300
    }
}

我在Zappa的GitHub问题中尝试了一些建议的解决方案,但没有成功。

我还尝试了一些与zappa中的导入问题相关的SO解决方案,但没有成功。对于使用python3.6在AWS lambda中解决此zappa问题的调试或变通方法,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

针对面临类似问题的人

我通过在venv上安装zappa修复了它。

因此,请按照以下步骤操作(假设您在本地的env文件夹中有venv)

$ source ./env/bin/activate
$ pip install zappa
$ zappa deploy or zappa update