我正在尝试使用ProcessBuilder从Java执行"python3 --version"(这只是一个例子(。 python3 位于/usr/local/bin。我已经配置了工作目录。这是我的代码片段:
ProcessBuilder pb = new ProcessBuilder("/bin/bash", "-c", "python3 --version");
pb.directory(new File("/usr/local/bin"));
Process p = pb.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String line = null;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
reader.close();
但它给出了错误:/bin/bash:python3:找不到命令。有什么方法可以解决这个问题吗?
PS :它可以执行 python --version,因为它位于/usr/bin 中。相反,它成功地执行了与/usr/bin 相关的所有命令,但没有一个位于/usr/local/bin 中的命令。python3 只是我面临的一般问题的一个例子。
我们还必须配置环境(更何况是 PATH 变量(并将/usr/local/bin 附加到其中。然后它会正常工作。我使用 Eclipse IDE,并在"运行配置"中的"环境"下配置了 PATH。它现在工作正常。