【问题标题】:ProcessBuilder - cannot execute the conda commandProcessBuilder - 无法执行 conda 命令
【发布时间】:2020-05-22 15:08:06
【问题描述】:

当我在命令行中运行以下命令时,我没有遇到任何问题,并且环境更改为 jaydev

conda activate jaydev 之后我的命令行看起来像这样(jaydev) C:\Users\jay dev>

(我是在windows命令行而不是anaconda提示符下写这个命令,我已经做了必要的配置)

但是当我使用进程构建器并尝试执行相同的命令时,它不执行问题如下所示。

ProcessBuilder pb = new ProcessBuilder("conda", "activate", "jaydev");]
Process p = pb.start();

错误 -

    java.io.IOException: Cannot run program "conda": CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at test.Test.main(Test.java:23)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
    at java.lang.ProcessImpl.start(ProcessImpl.java:137)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 1 more

任何帮助将不胜感激

【问题讨论】:

  • 试试这个Runtime.getRuntime().exec("cmd.exe /C conda activate jaydev");而不是ProcessBuilder。
  • 谢谢,这对我有用

标签: java command-line anaconda processbuilder


【解决方案1】:

这对我有用:

    List<String> processParameters = new ArrayList<String>();
    processParameters.add("cmd.exe");
    processParameters.add("/C");
    processParameters.add("conda");
    processParameters.add("activate");
    processParameters.add("myENV");

    ProcessBuilder pb = new ProcessBuilder(processParameters);

【讨论】:

    猜你喜欢
    • 2019-03-12
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2011-04-16
    • 2012-03-11
    • 2014-03-14
    相关资源
    最近更新 更多