code: def venv_update(
          venv=DEFAULT_OPTION_VALUES['venv='],
          install=DEFAULT_OPTION_VALUES['install='],
          pip_command=DEFAULT_OPTION_VALUES['pip-command='],
          bootstrap_deps=DEFAULT_OPTION_VALUES['bootstrap-deps='],
  ):
      
  
      # SMELL: mutable argument as return value
      class return_values(object):
          venv_path = None
  
      try:
          ensure_virtualenv(venv, return_values)
          if return_values.venv_path is None:
              return
          # invariant: the final virtualenv exists, with the right python version
          raise_on_failure(lambda: pip_faster(return_values.venv_path, pip_command, install, bootstrap_deps))
      except BaseException:
          mark_venv_invalid(return_values.venv_path)
          raise
      else:
          mark_venv_valid(return_values.venv_path)
docs: we have an arbitrary python interpreter active, (possibly) outside the virtualenv we want.
  
      make a fresh venv at the right spot, make sure it has pip-faster, and use it