code: def _get_evaluator(self, function, evaluator_id):
      from jedi.evaluate import Evaluator
  
      try:
          evaluator = self._evaluators[evaluator_id]
      except KeyError:
          from jedi.api.environment import InterpreterEnvironment
  
          evaluator = Evaluator(
              # The project is not actually needed. Nothing should need to
              # access it.
              project=None,
              environment=InterpreterEnvironment(),
          )
          self._evaluators[evaluator_id] = evaluator
      return evaluator
  
imports: import os
  import sys
  import subprocess
  import socket
  import errno
  import weakref
  import traceback
  from functools import partial
  from threading import Thread
  from jedi._compatibility import queue, is_py3, force_unicode, pickle_dump, pickle_load, GeneralizedPopen, print_to_stderr
  from jedi import debug
  from jedi.cache import memoize_method
  from jedi.evaluate.compiled.subprocess import functions
  from jedi.evaluate.compiled.access import DirectObjectAccess, AccessPath, SignatureParam
  from jedi.api.exceptions import InternalError
label_desc: Use image node_id 2 for calling the Listener obj's underlying member method code with example usage: obj._get_evaluator(function, evaluator_id) and returns: evaluator