def venv_update(<EOL>venv=DEFAULT_OPTION_VALUES['<STR_LIT>'],<EOL>install=DEFAULT_OPTION_VALUES['<STR_LIT>'],<EOL>pip_command=DEFAULT_OPTION_VALUES['<STR_LIT>'],<EOL>bootstrap_deps=DEFAULT_OPTION_VALUES['<STR_LIT>'],<EOL>):
<EOL>class return_values(object):<EOL><INDENT>venv_path = None<EOL><DEDENT>try:<EOL><INDENT>ensure_virtualenv(venv, return_values)<EOL>if return_values.venv_path is None:<EOL><INDENT>return<EOL><DEDENT>raise_on_failure(lambda: pip_faster(return_values.venv_path, pip_command, install, bootstrap_deps))<EOL><DEDENT>except BaseException:<EOL><INDENT>mark_venv_invalid(return_values.venv_path)<EOL>raise<EOL><DEDENT>else:<EOL><INDENT>mark_venv_valid(return_values.venv_path)<EOL><DEDENT>
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