Curious Person
Curious Person

Reputation: 111

ProcessBuilder cannot find python3 in Mac OS

I am trying to execute "python3 --version" (this is just an example) from Java using ProcessBuilder. python3 is located in /usr/local/bin. I have configured the working directory. Here is my code snippet :

  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();

But it gives the error : /bin/bash: python3: command not found. Any way to resolve this?

PS : It can execute python --version as it is located in /usr/bin. Rather it executes successfully all commands pertaining to /usr/bin but none of the ones located in /usr/local/bin. python3 is just an instance of the general problem I am facing.

Upvotes: 0

Views: 357

Answers (1)

Curious Person
Curious Person

Reputation: 111

We also have to configure the environment (more so the PATH variable) and append /usr/local/bin as well to it. It will work fine then. I use the Eclipse IDE and I configured the PATH under environment in Run Configurations. It works fine now.

Upvotes: 0

Related Questions