class PipWrapper {

  public boolean isAvailable() {
    boolean exists = false;
    try {
      final Process p = new ProcessBuilder(this.pathToPip.toString()).start();
      final int exit_code = p.waitFor();
      exists = exit_code == 0;
    } catch (IOException ioe) {
      log.error("Error calling [pip]: " + ioe.getMessage(), ioe);
    } catch (InterruptedException ie) {
      log.error("Error calling [pip]: " + ie.getMessage(), ie);
    }
    return exists;
  }

  public  PipWrapper();
  public  PipWrapper(Path _path_to_pip, Path _log_dir);

}