code: def find_protoc(path=os.environ['PATH']):
      '''
      Traverse a path ($PATH by default) to find the protoc compiler
      '''
      protoc_filename = 'protoc'
  
      bin_search_paths = path.split(':') or []
      for search_path in bin_search_paths:
          bin_path = os.path.join(search_path, protoc_filename)
          if os.path.isfile(bin_path) and os.access(bin_path, os.X_OK):
              return bin_path
  
      raise ProtocNotFound("Protobuf compiler not found"f find_protoc(path=os.environ['PATH']):
      '''
      Traverse a path ($PATH by default) to find the protoc compiler
      '''
      protoc_filename = 'protoc'
  
      bin_search_paths = path.split(':') or []
      for search_path in bin_search_paths:
          bin_path = os.path.join(search_path, protoc_filename)
          if os.path.isfile(bin_path) and os.access(bin_path, os.X_OK):
              return bin_path
  
      raise ProtocNotFound("Protobuf compiler not found")
docs: Traverse a path ($PATH by default) to find the protoc compiler