<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def install(cls, uninstallable, prefix, path_items, root=None, warning=None):
 """Install an importer for modules found under ``path_items`` at the given import ``prefix``. :param bool uninstallable: ``True`` if the installed importer should be uninstalled and any imports it performed be un-imported when ``uninstall`` is called. :param str prefix: The import prefix the installed importer will be responsible for. :param path_items: The paths relative to ``root`` containing modules to expose for import under ``prefix``. :param str root: The root path of the distribution containing the vendored code. NB: This is the the path to the pex code, which serves as the root under which code is vendored at ``pex/vendor/_vendored``. :param str warning: An optional warning to emit if any imports are made through the installed importer. :return: """

    root = cls._abs_root(root)
    importables = tuple(cls._iter_importables(root=root, path_items=path_items, prefix=prefix))
    vendor_importer = cls(root=root,
                          importables=importables,
                          uninstallable=uninstallable,
                          warning=warning)
    sys.meta_path.insert(0, vendor_importer)
    _tracer().log('Installed {}'.format(vendor_importer), V=3)
    return vendor_importer