当我使用 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 (将#修改为@)