code: def _process(self):
      debug.dbg("Start environment subprocess %s", self._executable)
      parso_path = sys.modules["parso"].__file__
      args = (
          self._executable,
          _MAIN_PATH,
          os.path.dirname(os.path.dirname(parso_path)),
          ".".join(str(x) for x in sys.version_info[:3]),
      )
      process = GeneralizedPopen(
          args,
          stdin=subprocess.PIPE,
          stdout=subprocess.PIPE,
          stderr=subprocess.PIPE,
          # Use system default buffering on Python 2 to improve performance
          # (this is already the case on Python 3).
          bufsize=-1,
      )
      self._stderr_queue = Queue()
      self._stderr_thread = t = Thread(
          target=_enqueue_output,
          args=(process.stderr, self._stderr_queue),
      )
      t.daemon = True
      t.start()
      return process
  
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 3 for calling the CompiledSubprocess obj's underlying member method code with example usage: obj._process() and returns: process