我正在尝试为 AWS Lambda 创建 python 部署包。我已遵循创建 Deployment Package (Python) 中指定的文档
在测试创建的 Lambda 函数时,我收到以下错误:
No module named pkg_resources
在调试时,发现 pint
包需要此 pkg_resources
。 AFAIK,pkg_resources
将在 Python 发行版安装期间创建。
我假设由于 Python 已在 Lambda 服务器上可用,因此它也应该具有 pkg_resources
。
我在这里缺少什么?有人可以帮忙吗?
在投票之前:如果这是针对此问题的错误论坛,请对该问题发表评论,我将转到正确的论坛。
最佳答案
确保所有软件包可供您使用的一个好方法是在 AWS AMI
中安装所有依赖项。它在引导时提供与 lambda 相同的环境。通过这种方式,您将能够找出您系统上安装的 AWS AMI
python 和 python 中缺少哪些软件包。您可能想查看类似 serverless 的框架其中有类似 serverless-python-requirements 的插件它可以为您构建软件包。我通常创建一个 venv
并检查一切是否正常。这是link它向您展示了如何做到这一点。
关于python - AWS Lambda + Python - 没有名为 pkg_resources 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46512518/