我正在尝试使用云功能事件触发器执行Python脚本。我的index.js有以下代码:
var PythonShell = require('python-shell');
PythonShell.run('my_script.py', function (err) {
if (err) throw err;
console.log('finished');
});
exports.processFile = function(event, callback) {
console.log('Processing file: ' + event.data.name);
callback();
};
module.exports = PythonShell;
和package.json具有以下代码:
{
"name": "python-shell",
"version": "0.4.0",
"description": "Run Python scripts from Node.js with simple (but efficient) inter-process communication through stdio",
"keywords": [
"python"
],
"scripts": {
"test": "my_script.py"
},
"dependencies" : {}
}
但是该功能没有得到创建。它显示以下错误:错误:
Deployment failure:
Function load error: Code in file index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'python-shell'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/user_code/index.js:7:19)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
请建议如何解决它?
请先尝试此命令
npm install python-shell
正如错误堆栈跟踪所暗示的那样,您尚未在软件包中指定python-shell.json依赖项。请将其添加到您的软件包中。
添加所需的依赖项而不手动更新您的软件包。
-
cd
到包含您本地软件包的文件夹 -
npm install python-shell --save
打开软件包时,依赖项字段应指定模块及其语义版本。这是一个例子。
"dependencies": {
"python-shell": "^0.4.0"
}
有多种方法可以更新package.json文件中的版本。但是,它不在此问题的范围内。
完成此操作后,尝试部署功能。