Laravel-Python脚本执行

UJ *_*dia 9 python laravel laravel-5 laravel-5.7

我必须执行一个Python脚本,该脚本会将大量数据提取到数据库中。当我使用命令运行项目时,它工作正常php artisan serve,但是在调用下面给出的公用文件夹URL之后,它抛出了错误

localhost/project/public
Run Code Online (Sandbox Code Playgroud)

错误:

命令“ python /opt/lampp/htdocs/laravel/projectname/beta/projectname/public/python/pubmed_abstract/pubmed_engine.py'{“ term”:“ cancer”}'“”失败。

退出代码:1(一般错误)工作目录:/ opt / lampp / htdocs / laravel / infocytosis / beta / infocytosis / public输出:

===============错误输出:===============

追溯(最近一次通话):文件“ /opt/lampp/htdocs/laravel/projectname/beta/projectname/public/python/pubmed_abstract/pubmed_engine.py”,第5行,来自Bio import Entrez ImportError:没有名为Bio的模块

我使用的代码:

   $python_path=public_path().'/python/doom_abstract/doom_engine.py';

   $variables='{"term":"'.addslashes($request->term).'"}';

   $process = new Process("python $python_path '$variables'");
   $process->run(); 

  return redirect()->back()->withMessage('Filter saved successfully');
Run Code Online (Sandbox Code Playgroud)

sen*_*nty -1

代替:

$process = new Process("python $python_path '$variables'");
$process->run(); 
Run Code Online (Sandbox Code Playgroud)

怎么样

shell_exec("python $python_path '$variables'")
Run Code Online (Sandbox Code Playgroud)