在 Amazon AWS Lambda 上导入 Python 模块 "Pulp"
Importing Python Module "Pulp" on Amazon AWS Lambda
我一直在尝试将 python 模块 "Pulp" 导入 Amazon AWS Lambda,但出现错误。 Pulp 是一个优化模块,可以使用 pip ("pip install pulp") 安装,但就像在 AWS Lambda 中一样,我不确定如何安装它,所以我从本地机器上压缩了所有内容以及 Lambda 函数并将其上传到 AWS Lambda .
我收到的错误:-
“尝试在非包中进行相对导入:ValueError
追溯(最近一次通话):
文件“/var/task/lambda_function.py”,第 5 行,在 lambda_handler 中
进口纸浆
文件“/var/task/pulp.py”,第 101 行,位于
从 .constants 导入 *
ValueError:尝试在非包中进行相对导入
这是 .zip 文件 https://drive.google.com/open?id=0B7SjHToKYgr3cXlHenpoOFljMDg
的 link
提前致谢。
该错误是一个标准 Python 错误,表示它只会从标准位置导入内容。因为它包括当前目录,所以你应该很好,但你的代码包括
from . import pulp
当您的目录中有 pulp.py 时。如果 pulp.py 是所需要的一切,你会没事的。但是 pulp.py 想要 import .constants
。 是 一个相对引用,这很好,因为它应该在一个模块中。在你的情况下,这不好。如果你想继续走这条路,你将不得不经历并删除这些相关的导入。
您的 .zip 文件还包含 .pyc 文件。让这些在目标机器上生成。只需发送它们来自的 .py。
按照 http://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html
上的说明进行操作
关于如何使用 virtualenv 部署到 AWS lambda。
我一直在尝试将 python 模块 "Pulp" 导入 Amazon AWS Lambda,但出现错误。 Pulp 是一个优化模块,可以使用 pip ("pip install pulp") 安装,但就像在 AWS Lambda 中一样,我不确定如何安装它,所以我从本地机器上压缩了所有内容以及 Lambda 函数并将其上传到 AWS Lambda .
我收到的错误:-
“尝试在非包中进行相对导入:ValueError 追溯(最近一次通话): 文件“/var/task/lambda_function.py”,第 5 行,在 lambda_handler 中 进口纸浆 文件“/var/task/pulp.py”,第 101 行,位于 从 .constants 导入 * ValueError:尝试在非包中进行相对导入
这是 .zip 文件 https://drive.google.com/open?id=0B7SjHToKYgr3cXlHenpoOFljMDg
的 link提前致谢。
该错误是一个标准 Python 错误,表示它只会从标准位置导入内容。因为它包括当前目录,所以你应该很好,但你的代码包括
from . import pulp
当您的目录中有 pulp.py 时。如果 pulp.py 是所需要的一切,你会没事的。但是 pulp.py 想要 import .constants
。 是 一个相对引用,这很好,因为它应该在一个模块中。在你的情况下,这不好。如果你想继续走这条路,你将不得不经历并删除这些相关的导入。
您的 .zip 文件还包含 .pyc 文件。让这些在目标机器上生成。只需发送它们来自的 .py。
按照 http://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html
上的说明进行操作关于如何使用 virtualenv 部署到 AWS lambda。