docstr: Keep this method private for all users of jedi. However internally this
  one is used like a public method.
docstr_tok: ["Keep","this","method","private","for","all","users","of","jedi",".","However","internally","this","one","is","used","like","a","public","method","."]
code: def _get_sys_path(self, evaluator, environment=None):
      """
      Keep this method private for all users of jedi. However internally this
      one is used like a public method.
      """
      suffixed = []
      prefixed = []
  
      sys_path = list(self._get_base_sys_path(environment))
      if self._smart_sys_path:
          prefixed.append(self._path)
  
          if evaluator.script_path is not None:
              suffixed += discover_buildout_paths(
                  evaluator, evaluator.script_path
              )
  
              traversed = list(traverse_parents(evaluator.script_path))
  
              # AFAIK some libraries have imports like `foo.foo.bar`, which
              # leads to the conclusion to by default prefer longer paths
              # rather than shorter ones by default.
              suffixed += reversed(traversed)
  
      if self._django:
          prefixed.append(self._path)
  
      path = prefixed + sys_path + suffixed
      return list(
          _force_unicode_list(_remove_duplicates_from_path(path))
      )
  
imports: import os
  import json
  from jedi._compatibility import FileNotFoundError, NotADirectoryError, PermissionError
  from jedi.api.environment import SameEnvironment, get_cached_default_environment
  from jedi.api.exceptions import WrongVersion
  from jedi._compatibility import force_unicode
  from jedi.evaluate.sys_path import discover_buildout_paths
  from jedi.evaluate.cache import evaluator_as_method_param_cache
  from jedi.common.utils import traverse_parents
label_desc: Use image node_id 5 for calling the Project obj's underlying member method code with example usage: obj._get_sys_path(evaluator, environment) and returns: list