Java.Error при вызове скрипта Python с Runtime - PullRequest
0 голосов
/ 21 февраля 2019

Мне нужно вызвать скрипт Python в проекте Java. Я не использую 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, Permisson denied"

Я пытаюсь изменить разрешение с помощью chmod -r 777 и других команд, но я снова получаю эту ошибку.

Ubuntu 18.04 лтсJDK 10. Intelij идея сообщества редакция.

Ответы [ 3 ]

0 голосов
/ 21 февраля 2019

используйте вашу команду следующим образом, введите ваш пароль, затем используйте sudo -S вместе с вашей командой

String cmd = 'echo your_password|sudo -S python /home/kiryushin/projects/python/stm/venv/lib/stmtest1.py';
0 голосов
/ 22 февраля 2019

Вот как я решаю свою проблему

  1. Создайте заново свой проект без виртуальных сред (venv)
  2. Добавьте shebang в скрипте Python
  3. С помощью pip3 добавьте lib todoist-app
  4. При вызове скрипта Python я пишу:

    String cmd = "python3.6 /home/kiryushin/projects/python/stm2/stm.py";Процесс p = Runtime.getRuntime (). Exec (cmd);

0 голосов
/ 21 февраля 2019

Попробуйте с помощью:

Сначала проверьте вручную с разрешением sudo.

И измените:

String cmd = "sudo python /home/kiryushin/projects/python/stm/venv/lib/stmtest1.py"
...