通过PHP执行new_api.py时,出现了spacy导入错误。通过cmd运行时,python脚本成功执行了
PHP代码
<?php
$json = file_get_contents('php://input');
$input = json_decode($json, TRUE);
$result = shell_exec('/usr/bin/python3 new_api.py "'.$input['queryResult']['queryText'].'" "'.$input['session'].'" 2>&1');
$output = json_encode(array(
"source" => "source",
"fulfillmentText" => $result
));
print_r($output);
?>
Python代码段
import requests
import json
import sqlite3
import spacy
import sys
json_values = sys.argv[1:]
result = (home(json_values[0],json_values[1]))
print(result)
输出/错误回溯
{“ source”:“ source”,“ fulfillmentText”:“ Traceback(最近一次调用最近):\ n File \” new_api.py \“,第4行,\ n import spacy \ nImportError:未命名模块'spacy'\ n“}
服务器中有两个版本的python。这两个版本均已安装spacy,并且python脚本与两个版本均兼容。
我尝试过的事情
exec()
和shell_exec()
进行了尝试which python
路径执行脚本python
和python3
的脚本
即使尝试了上述步骤的组合,ImportError仍然仍然存在。任何帮助将不胜感激。