code: def _search_for_executable(self, executable):
          
          if os.path.isfile(executable):
              return os.path.abspath(executable)
          else:
              envpath = os.getenv('PATH')
              if envpath is None:
                  return
              for path in envpath.split(os.pathsep):
                  exe = os.path.join(path, executable)
                  if os.path.isfile(exe):
                      return os.path.abspath(exe)
docs: Search for file give in "executable". If it is not found, we try the environment PATH.
          Returns either the absolute path to the found executable, or None if the executable
          couldn't be found.