code: def get_ve_base(self, environ):
          
          # set ve_base to a path we can look for virtualenvs:
          # 1. .vexrc
          # 2. WORKON_HOME (as defined for virtualenvwrapper's benefit)
          # 3. $HOME/.virtualenvs
          # (unless we got --path, then we don't need it)
          ve_base_value = self.headings[self.default_heading].get('virtualenvs')
          if ve_base_value:
              ve_base = os.path.expanduser(ve_base_value)
          else:
              ve_base = environ.get('WORKON_HOME', '')
          if not ve_base:
              # On Cygwin os.name == 'posix' and we want $HOME.
              if platform.system() == 'Windows' and os.name == 'nt':
                  _win_drive = environ.get('HOMEDRIVE')
                  home = environ.get('HOMEPATH', '')
                  if home:
                      home = os.path.join(_win_drive, home)
              else:
                  home = environ.get('HOME', '')
              if not home:
                  home = os.path.expanduser('~')
              if not home:
                  return ''
              ve_base = os.path.join(home, '.virtualenvs')
          # pass through invalid paths so messages can be generated
          # if not os.path.exists(ve_base) or os.path.isfile(ve_base):
              # return ''
          return ve_base or ''
docs: Find a directory to look for virtualenvs in.