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

2024-10-03 09:16:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我的节点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中发布问题的经验,所以如果有人需要更多信息,就写评论吧


Tags: pydataasyncmainonjsfunctionres