Докер и Python с использованием процесса Symfony - PullRequest
0 голосов
/ 27 мая 2018

Я использую Laradock и хочу иметь возможность запускать скрипт python из моего приложения laravel с помощью Symfony Process.Внутри корня моего контейнера я могу запустить «python3 script_name.py arg1», и он работает просто отлично.Список пипсов показывает все необходимые модули.Когда я запускаю его изнутри Laravel, он говорит мне:

"import pymysql ImportError: No module named 'pymysql'"

Я использовал не-докерское приложение Laravel, чтобы делать это просто отлично, используя:

  $script = storage_path().'/app/script.py';
            $process = new Process('python3 '. $script." ".session('division'));

Что яотсутствует

1 Ответ

0 голосов
/ 27 мая 2018

При * nix убедитесь, что PYTHONPATH настроен правильно для всех пользователей, или попробуйте установить полный путь к python3.

Как проверить

Сначала ваш пользователь php

php -r "print shell_exec( 'whoami' );" // somebody

При запуске

su somebody python3 script_name.py arg1
...