使用Runtime调用python脚本时的Java.Error

问题描述 投票:1回答:3

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

java python ubuntu runtime jython
3个回答
0
投票

试试:

首先使用sudo权限手动检查。

并修改:

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

0
投票

使用这样的命令,回显你的密码,然后使用sudo -S和你的命令

String cmd = 'echo your_password|sudo -S python /home/kiryushin/projects/python/stm/venv/lib/stmtest1.py';

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);
© www.soinside.com 2019 - 2024. All rights reserved.