我必须在Java项目中调用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, Permisson denied"
我尝试使用chmod -r 777和其他命令更改权限,但再次出现此错误。
Ubuntu 18.04 lts。 JDK 10. Intelij创意社区版。
答案 0 :(得分:0)
尝试:
首先请获得sudo
权限手动检查。
并修改:
String cmd = "sudo python /home/kiryushin/projects/python/stm/venv/lib/stmtest1.py"
答案 1 :(得分:0)
像这样使用您的命令,回显您的密码,然后将sudo -S与命令一起使用
String cmd = 'echo your_password|sudo -S python /home/kiryushin/projects/python/stm/venv/lib/stmtest1.py';
答案 2 :(得分:0)
这就是我解决问题的方式
在调用python脚本时,我写道:
String cmd =“ python3.6 /home/kiryushin/projects/python/stm2/stm.py”;进程p = Runtime.getRuntime()。exec(cmd);