部署云功能时index.js上的错误



我正在尝试使用云功能事件触发器执行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依赖项。请将其添加到您的软件包中。

添加所需的依赖项而不手动更新您的软件包。

  1. cd到包含您本地软件包的文件夹
  2. npm install python-shell --save

打开软件包时,依赖项字段应指定模块及其语义版本。这是一个例子。

"dependencies": {
  "python-shell": "^0.4.0"
}

有多种方法可以更新package.json文件中的版本。但是,它不在此问题的范围内。

完成此操作后,尝试部署功能。

相关内容

  • 没有找到相关文章

最新更新