class_docstr: Creates and manages a virtualenv for benchmarking, which allows for
  clean dependency management and benchmarking of multiple versions without
  contaminating the system's `site-packages` folder.
class_docstr_tok: ["Creates","and","manages","a","virtualenv","for","benchmarking",",","which","allows","for","clean","dependency","management","and","benchmarking","of","multiple","versions","without","contaminating","the","system","'s","`","site-packages","`","folder","."]
docstr: Clears the folder and creates a new virtualenv at
  `self._virtualenv_path`.
docstr_tok: ["Clears","the","folder","and","creates","a","new","virtualenv","at","`","self._virtualenv_path","`","."]
code: def create_virtualenv(self):
      """Clears the folder and creates a new virtualenv at
      `self._virtualenv_path`."""
      if self.virtualenv_exists():
          logging.ERROR(
              "Virtualenv already exists at: `{0}`".format(
                  self._virtualenv_path
              )
          )
          return
      logging.info(
          "Creating virtualenv at: `{}`".format(self._virtualenv_path)
      )
      venv.create(self._virtualenv_path, clear=True, with_pip=True)
  
imports: import logging
  import os
  import sys
  import signal
  import subprocess
  import venv
  import tornado
  from timeit import timeit
  from perspective import Table, PerspectiveManager, PerspectiveTornadoHandler
label_desc: Use image node_id 4 for calling the VirtualEnvHandler obj's underlying member method code with example usage: obj.create_virtualenv() without return types