我可以使用以下函數從AWS Lambda上的nodejs調用我的python。但是,因爲我需要特定的python庫,我在env目錄中創建了一個virutalenv。我壓縮了所有東西,並推送到Lambda。但是,當我嘗試從虛擬目錄調用python時,我得到了一個Permission Denied錯誤。從AWS lambda上的nodejs調用python - 權限被拒絕
我試圖在調用python之前修改Lambda上的chmod權限,但得到了操作不允許的權限。我怎樣才能讓它運行?
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)"
]
}
謝謝。點#1應該對我來說很明顯。第二點我嘗試過但也許我做錯了? 'chmod + x env/bin/python'我得到這個錯誤:'chmod:改變env/bin/python的權限:不允許操作' – xcalx9
如果我嘗試'sudo chmod + x env/bin/python'我得到* * sudo:命令未找到** – xcalx9
**不允許的操作:**您使用的是什麼文件系統?顯然不是默認的Linux文件系統(ext2,ext3或ext4)。 ** sudo:命令未找到:**您使用的是什麼分配?並非所有的發行版都安裝並配置了sudo。你可能想用'su'代替。 –