Я использую процесс symfony для выполнения сценария python. Часть выполнения скрипта работает нормально, однако я заметил, используя help("modules")
, что доступные модули различаются между выполнением скрипта из оболочки и выполнением скрипта с использованием процесса symfony. На изображениях ниже вы можете видеть, что в версии процесса symfony отсутствует yfinance
:
Модули при выполнении в оболочке
Модули при выполнении с помощью symfony процесса
Этот код PHP успешно выполняет сценарий:
public static function testPy() {
$process = new Process(['python3', 'modulesList.py']);
$process->run();
$failed = !$process->isSuccessful();
$output = $failed ? $process->getErrorOutput() : $process->getOutput();
dd([
"failed" => $failed,
"output" => $output
]);
}
modulesList.py содержит:
help("modules")
Я установил yfinance глобально, поэтому, если разные пользователи запускают скрипт, yfinance все еще отображается в списке.