首页 > 解决方案 > 如何使用 Java 的 Process Builder 在 anaconda 虚拟环境中调用 python 脚本?

问题描述

我正在尝试使用 Java 的 ProcessBuilder 在 anaconda 虚拟环境中调用用 PyTorch 编写的 ML 推理脚本。但是,当我执行代码时,它不会按预期调用脚本。它返回exitValue = 0意味着它已成功执行。我是否误解了 ProcessBuilder 的用法?因为当我在 中运行上面的命令时CMD.exe ,结果证明它按预期成功执行。以下是我的代码。下面是 Eclipse 控制台的屏幕截图,CMD.exe感谢任何建议或帮助。提前致谢!

    public class callTest {

        public static void main(String[] args) throws IOException, InterruptedException {
        
        String[] command = {"cmd.exe", "/c","activate pytorch","cd MODNet-master","python -m demo.image_matting.colab.inference"};
        var processBuilder = new ProcessBuilder();
        processBuilder.command(command);
        System.out.println(processBuilder.command());
        Process p = processBuilder.start();
        p.waitFor();
        System.out.println(p);

    }

这是控制台结果

这是手动执行命令的截图

标签: javapythoncmdanacondaprocessbuilder

解决方案


推荐阅读