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

Java.Error when calling python script with Runtime

我必须在 java 中调用 python 脚本 project.I 不要使用 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 磅。 JDK10.Intelij idea社区版

试试:

首先手动检查 sudo 权限。

并修改:

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

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

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

我就是这样解决问题的

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

    字符串命令="python3.6 /home/kiryushin/projects/python/stm2/stm.py";进程 p = Runtime.getRuntime().exec(cmd);