diff --git a/sphinx/builders/websupport.py b/sphinx/builders/websupport.py index a1b6cdb2d..2e416b287 100644 --- a/sphinx/builders/websupport.py +++ b/sphinx/builders/websupport.py @@ -9,8 +9,6 @@ :license: BSD, see LICENSE for details. """ -from sphinxcontrib.websupport.builder import WebSupportBuilder - if False: # For type annotation from typing import Any, Dict # NOQA @@ -19,7 +17,11 @@ if False: def setup(app): # type: (Sphinx) -> Dict[unicode, Any] - app.add_builder(WebSupportBuilder) + try: + from sphinxcontrib.websupport.builder import WebSupportBuilder + app.add_builder(WebSupportBuilder) + except ImportError: + pass return { 'version': 'builtin', diff --git a/sphinx/util/websupport.py b/sphinx/util/websupport.py index 20a35cf69..4d91cb77c 100644 --- a/sphinx/util/websupport.py +++ b/sphinx/util/websupport.py @@ -7,4 +7,8 @@ :license: BSD, see LICENSE for details. """ -from sphinxcontrib.websupport.utils import is_commentable # NOQA +try: + from sphinxcontrib.websupport.utils import is_commentable # NOQA +except ImportError: + def is_commentable(node): + raise RuntimeError diff --git a/tox.ini b/tox.ini index 530e5b941..d8db6442f 100644 --- a/tox.ini +++ b/tox.ini @@ -9,6 +9,7 @@ deps= mock enum34 typing + sphinxcontrib-websupport setenv = SPHINX_TEST_TEMPDIR = {envdir}/testbuild PYTHONDONTWRITEBYTECODE = true