':return: True if self.module_name needs to be built and installed.'

def is_needed(self, unused_install_dir):

    if ((not self.module_name) or (not self.version)):
        logging.warning('version    and    module_name    required    for    is_needed()    check    to    work.')
        return True
    try:
        module = __import__(self.module_name)
    except ImportError:
        logging.info("%s    isn't    present.    Will    install.", self.module_name)
        return True
    self.installed_version = self._get_installed_version_from_module(module)
    logging.info('imported    %s    version    %s.', self.module_name, self.installed_version)
    if hasattr(self, 'minimum_version'):
        return (distutils.version.LooseVersion(self.minimum_version) > distutils.version.LooseVersion(self.installed_version))
    else:
        return (distutils.version.LooseVersion(self.version) > distutils.version.LooseVersion(self.installed_version))
