Необходимо по команде выполнить запуск python скрипта. Не использовал jython т.к. скрипт содержит библиотеку todoist-api. Запуск скрипта выполняется по команде:
try {
String cmd = "/home/kiryushin/projects/python/stm/venv/lib/stmtest1.py";
Process p = Runtime.getRuntime().exec(cmd);
}
catch (IOException e){e.printStackTrace();}
на что получаю исключение -
" java.io.IOException: Cannot run program "/home/kiryushin/projects/python/stm/venv/lib/stmtest1.py": error=13, Отказано в доступе"
Менял параметры доступа в том числе через chmod -r 777. OC Ubuntu 18.04 lts.
По комментариям стало ясно, что проблема запуска - не найден интерпретатор python.
Одного chmod +x [имя скрипта]
недостаточно, чтобы сделать файл исполняемым. Точнее сказать: правильно исполняемым.
chmod +x
и "shebang"По классике, надо добавить первой строкой в скрипте "shebang": #!python
или #!/usr/bin/python
или #!//usr/bin/env python
или даже #p!ipenv run
Главноe - надо помнить, что окружение созданное Runtime.getRuntime()
может отличаться от того, что может создаваться в bash
/zsh
/fish
/etc и проверять $PATH
, $PYTHONPATH
и прочее.
cmd
напрямуюИзменить команду запуска скрипта, не полагаясь на "shebang" и указать интерпретатор напрямую:
String cmd = "python /home/kiryushin/projects/python/stm/venv/lib/stmtest1.py";
Проверять опять же переменные окружения созданные Runtime.getRuntime.
Интерпретатор:
python
pipenv
и запускать c pipenv run [имя скрипта]
По незнанию, при создании проекта python забыл, что указал создание виртуальной среды и поэтому после запуска скрипта из Runtime не мог подцепить библиотеку todoist-api. Поэтому я:
В вызове скрипта указал:
String cmd = "python3.6 /home/kiryushin/projects/python/stm2/stm.py"; Process p = Runtime.getRuntime().exec(cmd);
Виртуальный выделенный сервер (VDS) становится отличным выбором
Каждый элемент массива нужно умножить с каждым элементом этого массива и проверить, является ли квадратный корень этого произведения, целым...
Как восстановить нечаянно измененный файл css на Joomla? Бэкапов не делал, кажетсяИмеется ли в системе что-либо наподобие комбинации клавиш "Ctrl+Z"...
Есть (нашел) скрипт, который закрашивает прямоугольную область в html таблицеНужно чтобы эту область можно было копировать, но не получается