Я получаю ошибку импорта для spacy при выполнении new_api.py через PHP.Скрипт python успешно выполняется при запуске через cmd
PHP Code
<?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", "executementText": "Traceback (последний вызов был последним): \ n File \"new_api.py \ ", строка 4, в \ n spacy import \ nImportError: Нет модуля с именем 'spacy' \ n"}
На сервере есть две версии python.В обеих версиях установлен spacy, и скрипт python совместим с обеими версиями.
Вещи, которые я пробовал
Пробовал с использованием
exec()
и
shell_exec()
в php Попытка использования пути
which python
для выполнения сценария Попытка запуска сценария, который
python
и
python3
Ошибка ImportError сохраняется даже после попытки комбинациивышеуказанные шаги.Любая помощь будет оценена.