'Try to load a theme using entry_points.
Sphinx refers to ``sphinx_themes`` entry_points.'

def load_external_theme(self, name):

    entry_points = pkg_resources.iter_entry_points('sphinx.html_themes', name)
    try:
        entry_point = next(entry_points)
        self.app.registry.load_extension(self.app, entry_point.module_name)
        return
    except StopIteration:
        pass
    for entry_point in pkg_resources.iter_entry_points('sphinx_themes'):
        target = entry_point.load()
        if callable(target):
            themedir = target()
            if (not isinstance(themedir, string_types)):
                logger.warning((__('Theme    extension    %r    does    not    respond    correctly.') % entry_point.module_name))
        else:
            themedir = target
        themes = self.find_themes(themedir)
        for (entry, theme) in iteritems(themes):
            if (name == entry):
                warnings.warn('``sphinx_themes``    entry    point    is    now    deprecated.    Please    use    ``sphinx.html_themes``    instead.', RemovedInSphinx20Warning)
                self.themes[name] = theme
