def METHOD_NAME(paths):
    os.environ['VIRTUAL_ENV'] = paths.venv_dir
    if 'PATH' not in os.environ:
        lst = []
    else:
        lst = os.environ['PATH'].split(os.pathsep)
    lst.insert(0, paths.venv_bin_dir)
    bin_dir = abspath_join(paths.top_dir, 'bin')
    lst.insert(0, bin_dir)
    path = os.pathsep.join(lst)
    os.environ['PATH'] = path
    if 'PYTHONHOME' in os.environ:
        del os.environ['PYTHONHOME']
    shell = os.getenv('SHELL', '/bin/sh')
    shell_basename = os.path.basename(shell)
    args = [shell, shell]
    if shell_basename in ['bash', 'csh', 'fish', 'ksh', 'sh', 'tcsh', 'zsh']:
        args.append('-i')
    # This replaces the Python process. This statement will not return.
    os.execl(*args)