code: def install(self, dependency):
          
          if not self.pip_installed:
              logger.info("Need to install a dependency with pip, but no builtin, "
                          "doing it manually (just wait a little, all should go well)")
              self._brute_force_install_pip()
  
          # split to pass several tokens on multiword dependency (this is very specific for '-e' on
          # external requirements, but implemented generically; note that this does not apply for
          # normal reqs, because even if it originally is 'foo > 1.2', after parsing it loses the
          # internal spaces)
          str_dep = str(dependency)
          args = [self.pip_exe, "install"] + str_dep.split()
  
          if self.options:
              for option in self.options:
                  args.extend(option.split())
          logger.info("Installing dependency: %r", str_dep)
          try:
              helpers.logged_exec(args)
          except helpers.ExecutionError as error:
              error.dump_to_log(logger)
              raise error
          except Exception as error:
              logger.exception("Error installing %s: %s", str_dep, error)
              raise error
docs: Install a new dependency.