python - AWS Lambda + Python - 没有名为 pkg_resources 的模块

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

我正在尝试为 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/

相关文章:

ruby - Amazon SNS 静默推送

python - 如何手动更改 IAM 角色凭证?

使用 Amazon EC2 和 SimpleDB 的 Android 应用程序设计

haskell - 纯 Haskell Lambda 微积分中列表的仿函数性

c# - 在 C# 中按月对数据进行分组和计数

python - django-paypal 突然停止接收来自 Paypal 的信号

python - 如何以python方式检查长时间运行的函数?

python - QtOpenGL : No such file or directory opencv python

python - 如何在 Python 中使用多处理时解决 BrokenPipeError

java - 将 Lambda 转换为 Java 函数