微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当我使用 PM2 时,我的 NodeJS 子进程没有运行我的 python 文件,但是当我在 nodemon 中执行它们时工作正常

如何解决当我使用 PM2 时,我的 NodeJS 子进程没有运行我的 python 文件,但是当我在 nodemon 中执行它们时工作正常

我的 Node Js 代码

    app.post('/python',chamandoPython)

    async function chamandoPython(req,res) {
      var process = spawn('python',["./PythonServices/main.py","./uploads/"]).on('error',function( err ){ throw err })
      process.stdout.on('data',async function (data) {
        await res.send(data.toString())
      })
      process.stderr.on('data',async function (data) {
        console.log("stderr" + data.toString())
      })
     }

当我通过 nodemon 运行这个文件 js 时,效果很好,但是在 PM2 中执行时,给我这个错误

    $Error: spawn python ENOENT
    $  at Process.ChildProcess._handle.onexit (internal/child_process.js:268:19)
    $  at onErrorNT (internal/child_process.js:470:16)
    $  at processticksAndRejections (internal/process/task_queues.js:84:21) {
    $errno: 'ENOENT',$code: 'ENOENT',$syscall: 'spawn python',$path: 'python',$spawnargs: [ './PythonServices/main.py','./uploads/' ]
    $}

我没有在 stackoverflow 中发布问题的经验,所以如果有人需要更多信息,请写在评论

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。