code: def _match_by_requirements(self, current_venvs, requirements, interpreter, options):
          
          matching_venvs = []
          for venv_str in current_venvs:
              venv = json.loads(venv_str)
  
              # simple filter, need to have exactly same options and interpreter
              if venv.get('options') != options or venv.get('interpreter') != interpreter:
                  continue
  
              # requirements complying: result can be None (no comply) or a score to later sort
              matching = self._venv_match(venv['installed'], requirements)
              if matching is not None:
                  matching_venvs.append((matching, venv))
  
          if not matching_venvs:
              return
  
          return self._select_better_fit(matching_venvs)
docs: Select a venv matching interpreter and options, complying with requirements.
  
          Several venvs can be found in this case, will return the better fit.