Установите среду Python и выполните код Python в PHP-скриптеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Установите среду Python и выполните код Python в PHP-скрипте

Сообщение Anonymous »

Я пытаюсь преобразовать файл vcd в файл wavedrom json с помощью библиотеки Python
https://github.com/Toroid-io/vcd2wavedrom
когда я запускаю свой терминал, приведенный ниже код работает нормально

Код: Выделить всё

 source /var/www/xxx/vcd2wavedrom/verilog-env/bin/activate &&
python3 /var/www/xxx/vcd2wavedrom/vcd2wavedrom/vcd2wavedrom.py
-i /var/www/xxx/uuids/abcd/dump.vcd
-o /var/www/xxx/uuids/abcd/dump.json
Когда я выполняю в своем PHP-скрипте тот же код, что и

Код: Выделить всё

$env = 'source /var/www/xxx/vcd2wavedrom/verilog-env/bin/activate';

cmd = "python3 /var/www/xxx/vcd2wavedrom/vcd2wavedrom/vcd2wavedrom.py -i ".$uuid_dir."/dump.vcd -o ".$uuid_dir."/dump.json";

#!/bin/sh

shell_exec($env ." && ". $cmd);
Я получаю сообщение об ошибке sh: 1: source: not Found.
Как установить venv из php-скрипта .
Я не разработчик Python. Пожалуйста, разработайте свой ответ как можно подробнее, чтобы я мог лучше понять.
Я пытался удалить источник, но получил

Код: Выделить всё

 sh: 1: /var/www/xxx/vcd2wavedrom/verilog-env/bin/activate: Permission denied
Traceback (most recent call last):
File "/var/www/xxx/vcd2wavedrom/vcd2wavedrom/vcd2wavedrom.py", line 9, in 
from vcdvcd.vcdvcd import VCDVCD
ModuleNotFoundError: No module named 'vcdvcd'
Я установил для папки verilog-env значение 777, но та же ошибка сохраняется
Ответ
Я побежал

Код: Выделить всё

pip install vcdvcd --break-system-packages
ссылаясь на
https://stackoverflow.com/questions/756 ... y-managed- Environment-ever-time-i-use-pip-3[]
и удалил настройку venv

Код: Выделить всё

$env = '/var/www/xxx/vcd2wavedrom/verilog-env/bin/python3';

$cmd = "python3 /var/www/xxx/vcd2wavedrom/vcd2wavedrom/vcd2wavedrom.py -i ".$uuid_dir."/dump.vcd -o ".$uuid_dir."/dump.json";

shell_exec($cmd);
Теперь я получаю результат. Это правильно?

Подробнее здесь: https://stackoverflow.com/questions/789 ... php-script
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»