| 123456789101112131415161718192021222324 | from pip._internal.distributions.sdist import SourceDistributionfrom pip._internal.distributions.wheel import WheelDistributionfrom pip._internal.utils.typing import MYPY_CHECK_RUNNINGif MYPY_CHECK_RUNNING:    from pip._internal.distributions.base import AbstractDistribution    from pip._internal.req.req_install import InstallRequirementdef make_distribution_for_install_requirement(install_req):    # type: (InstallRequirement) -> AbstractDistribution    """Returns a Distribution for the given InstallRequirement    """    # Editable requirements will always be source distributions. They use the    # legacy logic until we create a modern standard for them.    if install_req.editable:        return SourceDistribution(install_req)    # If it's a wheel, it's a WheelDistribution    if install_req.is_wheel:        return WheelDistribution(install_req)    # Otherwise, a SourceDistribution    return SourceDistribution(install_req)
 |