进程组件Laravel与python的子进程包冲突

问题描述

  • 我目前正在组合Laravel和Python 然后我在运行Subprocess软件包时遇到python错误(独立运行时python脚本没有错误) 我认为运行2个并行命令时会发生冲突 那么我有什么办法可以解决这个问题?

  • 代码laravel

         $formatV = [
             "python3.8","tune2tube.py","src/test.mp3","src/test.png"
             "--output=a.mp4"
         ];
    
         $pathAb = base_path().'/python';
    
         $process = new Process($formatV);
         $process->setWorkingDirectory($pathAb);
         $process->start();
    
    
    
         foreach ($process as $type => $data) {
             if ($process::OUT === $type) {
                 echo "\nRead from stdout: ".$data;
             } else { // $process::ERR === $type
                 echo "\nRead from stderr: ".$data;
             }
         }
    

//结果:从标准输出中读取:tune2tube.py:错误:无法探测音频文件(ffprobe可能不可用)

  • 代码python(注意:self.settings ['path_ffprobe'] = ['ffprobe','src / test.mp3']):

      probe_cmd = [self.settings['path_ffprobe'],audio]
    
    
      try:
          probe_out = subprocess.check_output(
              probe_cmd,stderr=subprocess.STDOUT,)
    
          if self.settings['verbose']:
              print(probe_out)
      except:
          error_exit('''Couldn't probe the audio file \
    

(ffprobe可能不可用)''')

如果我独立于终端运行它,则使用代码python成功并导出文件mp4

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)