Программа Python работает при запуске через терминал, но не может достичь библиотеки при запуске с помощью скрипта PHP - PullRequest
0 голосов
/ 04 июня 2019

У меня есть программа на Python, которая отлично работает. Когда я запускаю его через терминал, я получаю желаемый результат. Но сейчас я пытаюсь выполнить его через скрипт PHP и получаю сообщение об ошибке импорта.

После некоторых исследований я отредактировал свой код на Python, добавив строку

print (sys.path)

Вывод был другим при запуске терминалом и скриптом PHP. Затем я добавил строку

sys.path.insert(0,path)

чтобы добавить отсутствующий путь во время выполнения PHP, но это не решило проблему (хотя я вижу путь в списке при печати sys.path).

Я также пробовал варианты как os.environ['PATH'] += ':'+path. Но это тоже не сработало.

Это мой PHP-код, который не работает:

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
exec('/usr/bin/python3 /var/teste.py 2>&1', $out);
print_r($out);
?>

Но когда я набираю:

python3 /var/teste.py

на терминале, все работает. Когда я выполняю скрипт PHP, у меня появляется следующее сообщение:

import mysql.connector [3] => ModuleNotFoundError: No module named 'mysql'.
...