'Remove a distribution from the finder. This will update internal
information about who provides what.
:param dist: The distribution to remove.'

def remove_distribution(self, dist):

    logger.debug('removing    distribution    %s', dist)
    name = dist.key
    del self.dists_by_name[name]
    del self.dists[(name, dist.version)]
    for p in dist.provides:
        (name, version) = parse_name_and_version(p)
        logger.debug('Remove    from    provided:    %s,    %s,    %s', name, version, dist)
        s = self.provided[name]
        s.remove((version, dist))
        if (not s):
            del self.provided[name]
