docstr: Currently we are not deleting evalutors instantly. They only get
  deleted once the subprocess is used again. It would probably a better
  solution to move all of this into a thread. However, the memory usage
  of a single evaluator shouldn't be that high.
docstr_tok: ["Currently","we","are","not","deleting","evalutors","instantly",".","They","only","get","deleted","once","the","subprocess","is","used","again",".","It","would","probably","a","better","solution","to","move","all","of","this","into","a","thread",".","However",",","the","memory","usage","of","a","single","evaluator","should","n't","be","that","high","."]
code: def delete_evaluator(self, evaluator_id):
      """
      Currently we are not deleting evalutors instantly. They only get
      deleted once the subprocess is used again. It would probably a better
      solution to move all of this into a thread. However, the memory usage
      of a single evaluator shouldn't be that high.
      """
      # With an argument - the evaluator gets deleted.
      self._evaluator_deletion_queue.append(evaluator_id)
  
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 9 for calling the CompiledSubprocess obj's underlying member method code with example usage: obj.delete_evaluator(evaluator_id) without return types