【发布时间】:2015-08-14 16:50:45
【问题描述】:
我可以使用以下函数从 AWS Lambda 上的 nodejs 调用我的 python。但是,因为我需要特定的 python 库,所以我在 env 目录中创建了一个virutalenv。我把所有东西都拉上拉链,然后推到 Lambda。但是当我尝试从虚拟目录调用 python 时,我得到一个 Permission Denied 错误。
我在调用 python 之前尝试修改 Lambda 上的 chmod 权限,但得到了 Operation Not Permitted。我怎样才能让它运行?
console.log('Loading event');
var exec = require('child_process').exec;
exports.handler = function(event, context) {
exec('env/bin/python district.py \'' + JSON.stringify(event) + '\'', function(error, stdout) {
var obj = stdout.toString();
context.done(error, obj);
});
};
这是错误:
{
"errorMessage": "Command failed: /bin/sh: env/bin/python: Permission denied\n",
"errorType": "Error",
"stackTrace": [
"",
"ChildProcess.exithandler (child_process.js:658:15)",
"ChildProcess.emit (events.js:98:17)",
"maybeClose (child_process.js:766:16)",
"Process.ChildProcess._handle.onexit (child_process.js:833:5)"
]
}
【问题讨论】:
标签: python linux node.js amazon-web-services aws-lambda