code: def prependsitedir(projdir, *args):
      
      # let the user be lazy and send a file, we will convert to parent directory
      # of file
      if path.isfile(projdir):
          projdir = path.dirname(projdir)
  
      projdir = path.abspath(projdir)
  
      # any args are considered paths that need to be joined to the
      # projdir to get to the correct directory.
      libpaths = []
      for lpath in args:
          libpaths.append(path.join(projdir, path.normpath(lpath)))
  
      # add the path to sys.path with preference over everything that currently
      # exists in sys.path
      syspath_orig = set(sys.path)
      site.addsitedir(projdir)
      for lpath in libpaths:
          site.addsitedir(lpath)
      syspath_after = set(sys.path)
      new_paths = list(syspath_after.difference(syspath_orig))
      sys.path = new_paths + sys.path
docs: like sys.addsitedir() but gives the added directory preference
          over system directories.  The paths will be normalized for dots and
          slash direction before being added to the path.
  
          projdir: the path you want to add to sys.path.  If its a
              a file, the parent directory will be added
  
          *args: additional directories relative to the projdir to add
              to sys.path.