使用运行时调用python脚本时出现Java.Error

时间:2019-02-21 07:41:15

标签: java python ubuntu runtime jython

我必须在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创意社区版。

3 个答案:

答案 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)

这就是我解决问题的方式

  1. 在没有虚拟环境(venv)的情况下重新创建我的项目
  2. 在python脚本中添加shebang
  3. 使用pip3将lib添加到todoist-app
  4. 在调用python脚本时,我写道:

    String cmd =“ python3.6 /home/kiryushin/projects/python/stm2/stm.py”;进程p = Runtime.getRuntime()。exec(cmd);