无法导入模块“handler”:没有名为“werkzeug”的模块

sa7*_*a77 7 django pip zappa aws-lambda python-3.6

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

无法导入模块“handler”:没有名为“werkzeug”的模块

这是工作的罚款python3.6zappa==0.42.2,直到25月- 2019年最后的部署。我认为这是由于应用程序上的一些代码更改导致了它(即使代码更改与 pip 模块无关 - 只是应用程序代码库上的一些更新)但即使恢复到以前的部署现在也会引发此错误。

我的 zappa 配置有一个 slim_handler: true

{
    "staging": {
        "project_name": "myapp",
        "slim_handler": true,
        "runtime": "python3.6",
        "log_level": "WARNING",
        "timeout_seconds": 300
    }
}
Run Code Online (Sandbox Code Playgroud)

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

我还从与 zappa 中的导入问题相关的问题中尝试了一些 SO 解决方案,但没有成功。对于 AWS lambda 中此 zappa 问题的调试或解决方法,我将非常感谢python3.6

vir*_*ous 6

对于面临类似问题的人

我通过在 venv 本身中安装 zappa 来修复它。

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

$ source ./env/bin/activate
$ pip install zappa
$ zappa deploy or zappa update
Run Code Online (Sandbox Code Playgroud)