def METHOD_NAME(venv_dir='virtualenv'):
  # Create virtualenv.
  if not os.path.exists(venv_dir):
    check_call(['python3', '-m', 'venv', venv_dir])
  # Install Sphinx and Breathe. Require the exact version of Sphinx which is
  # compatible with Breathe.
  pip = Pip(venv_dir)
  pip.install('wheel')
  pip.install('six')
  # See: https://github.com/sphinx-doc/sphinx/issues/9777
  pip.install('docutils==0.17.1')
  # Jinja2 >= 3.1 incompatible with sphinx 3.3.0
  # See: https://github.com/sphinx-doc/sphinx/issues/10291
  pip.install('Jinja2<3.1')
  pip.install('sphinx-doc/sphinx', 'v3.3.0')
  pip.install('michaeljones/breathe', 'v4.25.0')