如何解决Laravel中使用Symfony/Process执行Python程序的报错问题
Laravel中Symfony/Process执行Python报错的解决思路
针对你遇到的「致命Python错误:初始化Python时无法获取随机数」及退出码-1073740791问题,可按以下步骤排查:
检查系统Cryptographic Services服务
按Win+R输入services.msc,找到「Cryptographic Services」服务,确认其处于运行状态,启动类型设为自动。该服务负责系统随机数生成,未运行会导致Python初始化失败。修复或更换Python环境
你安装在项目目录的Python3.6可能存在依赖缺失或损坏:- 重新下载Python3.6官方安装包,覆盖安装至原目录,安装时勾选「Add Python to PATH」;
- 考虑更换为更稳定的Python版本(如3.8+),3.6版本较老旧,可能与当前Windows环境兼容性不佳。
修正Process工作目录与权限
当前工作目录路径C:\xampp\htdocs\xampp..\public存在无效路径片段,手动设置正确的工作目录:$process = new Process([ 'C:\xampp\htdocs\xampp\PythonTestapi\Python36\python.exe', app_path('Http\Controllers\Api\CustomVideo.py') ]); $process->setWorkingDirectory(base_path()); // 设置为项目根目录 $process->setTimeout(3600); $process->run();同时确保Web服务器运行用户(如Apache的
www-data或Windows的IIS_IUSRS)拥有Python.exe、CustomVideo.py所在目录的读取、执行权限。脱离Laravel测试脚本
直接在Windows命令提示符中执行报错里的完整命令:C:\xampp\htdocs\xampp\PythonTestapi\Python36\python.exe C:\xampp\htdocs\xampp\PythonTestapi\app\Http\Controllers\Api\CustomVideo.py如果命令行也报错,问题出在Python环境或脚本本身;若命令行运行正常,再排查Laravel的Process配置。
检查脚本依赖
确认CustomVideo.py用到的第三方Python库已在当前Python环境中安装(通过pip install命令),依赖缺失也可能触发初始化错误。
内容的提问来源于stack exchange,提问作者RCeyda
相关产品推荐
相关产品推荐

