code: def _compare_versions(
      op: str,
      got_version: Optional[str],
      want_version: Optional[str],
      requirement: str,
      package: str,
      fn_name: Optional[str],
  ):
      if got_version is None or want_version is None:
          raise ValueError(
              f"Unable to compare versions for {requirement}: need={want_version} found={got_version}. This is unusual. Consider"
              f" reinstalling {package}."
          )
      if not ops[op](
          version.parse(got_version), version.parse(want_version)
      ):
          raise ImportError(
              f"{requirement} must be installed{f' to use `{fn_name}`' if fn_name else ''}, but found {package}=={got_version}."
              f" You can install a supported version of '{package}' with this command: `pip install -U {requirement}`"
          )
  
file_path: argilla/src/argilla/utils/dependency.py
imports: import functools
  import importlib.metadata
  import importlib.util
  import operator
  import re
  import sys
  from typing import Callable, Dict, List, Optional, TypeVar, Union
  from packaging import version
label_desc: Use image node_id 1 for calling a global function with example usage: _compare_versions(op, got_version, want_version, requirement, package, fn_name) without return types