【发布时间】:2019-06-30 05:26:13
【问题描述】:
通过 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 文件 \"new_api.py\",第 4 行,在 \n import spacy\nImportError: No module named 'spacy'\n"}
服务器中有两个版本的python。两个版本都安装了 spacy,python 脚本与两个版本都兼容。
我尝试过的事情
exec() 和 shell_exec() which python路径执行脚本python 和python3 的脚本
即使在尝试了上述步骤的组合后,ImportError 仍然存在。任何帮助将不胜感激。
【问题讨论】: