我正在尝试在 Laravel 5.8 项目中执行 python 脚本,但我在使用 Symfony/process 类时遇到问题。
基本上,我想运行这个 python 脚本,它从存储文件夹中获取一个 excel 表单。
我的第一次尝试是这个
$process = new Process('C:\Python\python.exe C:\Users\"my path"\laravel\storage\app\images\cargaExcel.py');
$process->run();
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
echo $process->getOutput();
Run Code Online (Sandbox Code Playgroud)
错误是
Fatal Python error: _Py_HashRandomization_Init: failed to get random numbers to initialize Python
Run Code Online (Sandbox Code Playgroud)
我也试过shell_exec(), 如果这两个文件(excel 和 python 脚本在公共路径 - app/public 中)它可以工作。
我认为问题是python只在app/public文件夹上执行,所以我不知道如何在另一个路径中运行它。
Python 输出告诉我:
Working directory: C:\Users\"my path"\laravel\public
Run Code Online (Sandbox Code Playgroud)
有谁知道如何运行这个?