code: def _venv_match(self, installed, requirements):
          if not requirements:
              return None if installed else []
          satisfying_deps = []
          for repo, req_deps in requirements.items():
              useful_inst = set()
              if repo not in installed:
                  return None
              if repo == REPO_VCS:
                  inst_deps = {VCSDependency(url) for url in installed[repo].keys()}
              else:
                  inst_deps = {Distribution(project_name=dep, version=ver)
                               for (dep, ver) in installed[repo].items()}
              for req in req_deps:
                  for inst in inst_deps:
                      if inst in req:
                          useful_inst.add(inst)
                          break
                  else:
                      return None
              if useful_inst == inst_deps:
                  satisfying_deps.extend(inst_deps)
              else:
                  return None
          return satisfying_deps