def _call_multipip(self, requirements,
                       requires_files=None, ignore_requirements=None,
                       forced_requirements=None):
        cmdline = [self._multipip_executable]
        if requires_files:
            cmdline.append("-r")
            cmdline.extend(requires_files)
        if ignore_requirements:
            cmdline.append("--ignore-package")
            cmdline.extend(ignore_requirements)
        if forced_requirements:
            cmdline.append("--force-package")
            cmdline.extend(forced_requirements)
        if requirements:
            cmdline.append("--")
            cmdline.extend(requirements)
        (stdout, stderr) = sh.execute(cmdline, check_exit_code=False)
        compatibles = list(utils.splitlines_not_empty(stdout))
        incompatibles = collections.defaultdict(list)
        current_name = ''
        for line in stderr.strip().splitlines():
            if line.endswith(": incompatible requirements"):
                current_name = line.split(":", 1)[0].lower().strip()
                if current_name not in incompatibles:
                    incompatibles[current_name] = []
            else:
                incompatibles[current_name].append(line)
        cleaned_incompatibles = dict()
        for (requirement, lines) in six.iteritems(incompatibles):
            requirement = requirement.strip()
            if not requirement:
                continue
            if not lines:
                continue
            cleaned_incompatibles[requirement] = lines
        incompatibles = cleaned_incompatibles
        return (compatibles, incompatibles)
dataset/ETHPy150Open openstack/anvil/anvil/packaging/helpers/multipip_helper.py/Helper._call_multipip/original