将节点包包含到Python AWS Lambda中

时间:2018-12-06 22:40:53

标签: python node.js python-3.x npm aws-lambda

我想通过python脚本运行节点包。具体来说,我在AWS lambda上运行Python 3,并且需要执行newman命令(newman是邮递员应用程序的CLI版本)。

我在本地工作是因为我在全球范围内安装了newman(因此我可以通过python subprocess执行脚本。

打包newman软件包及其所有依赖项的理想方法是什么?

1 个答案:

答案 0 :(得分:0)

这个问题的答案非常简单(尽管由于将python与js相结合的性质而显得有些奇怪)。

-

如果您的python lambda绝对需要 node 软件包,请花时间在您选择的目录中设置适当的npm虚拟环境(对我来说,我创建了executables/node ),首先由包管理器进行收集依赖项的手动工作(为此使用npm init)。在执行此操作之前,请确保对使用python lambda之外的节点lambda进行彻底的审查。

一旦有了环境,请使用newman安装所需的软件包(对于我的情况为npm install)。

在您选择使用的目录中,您将看到所有依赖项和所需的节点程序包都被扔到node_modules目录中。从那里,强制python代码从目录中调用该包。瞧,您已经有了一个在Python AWS lambda上下文中工作的节点包。