(
    req,  # type: InstallRequirement
    format_control,  # type: FormatControl
    autobuilding,  # type: bool
    cache_available  # type: bool
)
return True
Return whether to build an InstallRequirement object using the
    ephemeral cache.

    :param cache_available: whether a cache directory is available for the
        autobuilding=True case.

    :return: True or False to build the requirement with ephem_cache=True
        or False, respectively; or None not to build the requirement.
Return whether to build an InstallRequirement object using the
    ephemeral cache.
Return whether to build an InstallRequirement object using the ephemeral cache .
def should_use_ephemeral_cache(
    req,  # type: InstallRequirement
    format_control,  # type: FormatControl
    autobuilding,  # type: bool
    cache_available  # type: bool
):
    # type: (...) -> Optional[bool]
    """
    Return whether to build an InstallRequirement object using the
    ephemeral cache.

    :param cache_available: whether a cache directory is available for the
        autobuilding=True case.

    :return: True or False to build the requirement with ephem_cache=True
        or False, respectively; or None not to build the requirement.
    """
    if req.constraint:
        return None
    if req.is_wheel:
        if not autobuilding:
            logger.info(
                'Skipping %s, due to already being wheel.', req.name,
            )
        return None
    if not autobuilding:
        return False

    if req.editable or not req.source_dir:
        return None

    if "binary" not in format_control.get_allowed_formats(
            canonicalize_name(req.name)):
        logger.info(
            "Skipping bdist_wheel for %s, due to binaries "
            "being disabled for it.", req.name,
        )
        return None

    if req.link and not req.link.is_artifact:
        # VCS checkout. Build wheel just for this run.
        return True

    link = req.link
    base, ext = link.splitext()
    if cache_available and _contains_egg_info(base):
        return False

    # Otherwise, build the wheel just for this run using the ephemeral
    # cache since we are either in the case of e.g. a local directory, or
    # no cache directory is available to use.
    return True
def should_use_ephemeral_cache ( req , # type: InstallRequirement format_control , # type: FormatControl autobuilding , # type: bool cache_available # type: bool ) : # type: (...) -> Optional[bool] if req . constraint : return None if req . is_wheel : if not autobuilding : logger . info ( 'Skipping %s, due to already being wheel.' , req . name , ) return None if not autobuilding : return False if req . editable or not req . source_dir : return None if "binary" not in format_control . get_allowed_formats ( canonicalize_name ( req . name ) ) : logger . info ( "Skipping bdist_wheel for %s, due to binaries " "being disabled for it." , req . name , ) return None if req . link and not req . link . is_artifact : # VCS checkout. Build wheel just for this run. return True link = req . link base , ext = link . splitext ( ) if cache_available and _contains_egg_info ( base ) : return False # Otherwise, build the wheel just for this run using the ephemeral # cache since we are either in the case of e.g. a local directory, or # no cache directory is available to use. return True