致命的 Python 错误:_Py_HashRandomization_Init:无法获取随机数来初始化 Python Python 运行时状态:预初始化

问题描述

我正在尝试使用进程从 laravel 运行 python 脚本,但它不起作用。

我的代码

$process = new Process(['C:/Users/hrish/AppData/Local/Programs/Python/python39/python.exe','C:\xampp\htdocs\N\MovieRSystem\app\Models\top_movies.py']);
        
        $process->run();
        if (!$process->isSuccessful()) {
            throw new ProcessFailedException($process);
        }

错误

Symfony\Component\Process\Exception\ProcessFailedException
The command ""C:/Users/hrish/AppData/Local/Programs/Python/python39/python.exe" C:\xampp\htdocs\N\MovieRSystem\public\top_movies.py" Failed. Exit Code: 1(General error) Working directory: C:\xampp\htdocs\N\MovieRSystem\public Output: ================ Error Output: ================ Fatal Python error: _Py_HashRandomization_Init: Failed to get random numbers to initialize Python Python runtime state: preinitialized

解决方法

您可以尝试使用 shell_exec() 命令代替这样运行您的 python 程序

 <?php
    $command = escapeshellcmd('python C:\xampp\htdocs\N\MovieRSystem\app\Models\top_movies.py');
    $output = shell_exec($command);
    echo $output;
 ?>