From 546c7a0121365dda9c6dfa01d9c6c668bab01861 Mon Sep 17 00:00:00 2001 From: Jean-Yves TINEVEZ Date: Mon, 24 Jun 2024 19:27:36 +0200 Subject: [PATCH] Don't try to reach out to direct conda path in windows. --- .../fiji/plugin/trackmate/util/cli/CLIUtils.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/fiji/plugin/trackmate/util/cli/CLIUtils.java b/src/main/java/fiji/plugin/trackmate/util/cli/CLIUtils.java index 02521e1b8..d09a60b5e 100644 --- a/src/main/java/fiji/plugin/trackmate/util/cli/CLIUtils.java +++ b/src/main/java/fiji/plugin/trackmate/util/cli/CLIUtils.java @@ -31,15 +31,18 @@ public class CLIUtils public static final String CONDA_PATH_PREF_KEY = "trackmate.conda.path"; - public static String CONDA_COMMAND = "conda"; - public static Map< String, String > getEnvMap() { // Create a map to store the environment names and paths final Map< String, String > envMap = new HashMap<>(); try { - final Process process = Runtime.getRuntime().exec( getCondaPath() + " env list" ); + final ProcessBuilder pb; + if ( IJ.isWindows() ) + pb = new ProcessBuilder( Arrays.asList( "cmd.exe", "/c", "conda", "env", "list" ) ); + else + pb = new ProcessBuilder( Arrays.asList( getCondaPath(), "env", "list" ) ); + final Process process = pb.start(); final BufferedReader reader = new BufferedReader( new InputStreamReader( process.getInputStream() ) ); // Read each line of output and extract the environment name and @@ -76,6 +79,9 @@ public static List< String > getEnvList() public static String getCondaPath() { + if ( IJ.isWindows() ) + return "conda"; + final PrefService prefs = TMUtils.getContext().getService( PrefService.class ); String findPath; try