【问题标题】:AWS Lambda with Zappa fails on "import module 'handler': No module named 'werkzeug' "带有 Zappa 的 AWS Lambda 在“导入模块‘处理程序’:没有名为‘werkzeug’的模块”上失败
【发布时间】:2020-03-08 01:51:54
【问题描述】:

使用 Zappa 部署我的 python 应用程序并访问 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 中的包名则有。除此之外,我不确定我做错了什么。

感谢所有帮助

【问题讨论】:

  • 您使用的是虚拟环境吗?我想知道调用您的虚拟环境文件夹env 是否会有所不同。

标签: python amazon-web-services aws-lambda zappa


【解决方案1】:

我通过升级到 python 3.7 解决了这个问题。我建议启动一个新的 virtualenv,配置为使用 python 3.7 。

如果您的系统上没有 python3.7,则需要安装它。这个网站是我用的。也适用于 AWS cloud9。

installing python 3.7

virtualenv env -p python3.7 source ./env/bin/activate python --version 输出应该是“Python 3.7.X”

然后像往常一样继续设置您的应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 2020-03-30
    • 2018-08-01
    • 2018-11-16
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多