Read the Docs build information Build id: 23341 Project: recovery-portal Version: basic-user-docs Commit: 60c3b081cb62c3ede9350ad8d46b1d0e0f8cd06b Date: 2022-03-30T12:36:38.910603Z State: finished Success: False [rtd-command-info] start-time: 2022-03-30T12:36:40.008164Z, end-time: 2022-03-30T12:36:40.852773Z, duration: 0, exit-code: 0 git clone --no-single-branch --depth 50 http://git.xfel.eu/karaboDevices/recoveryPortal.git . Cloning into '.'... [rtd-command-info] start-time: 2022-03-30T12:36:41.204842Z, end-time: 2022-03-30T12:36:41.295765Z, duration: 0, exit-code: 0 git checkout --force origin/basic-user-docs Note: checking out 'origin/basic-user-docs'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b HEAD is now at 60c3b08 add a rtd yaml [rtd-command-info] start-time: 2022-03-30T12:36:41.426440Z, end-time: 2022-03-30T12:36:41.518912Z, duration: 0, exit-code: 0 git clean -d -f -f [rtd-command-info] start-time: 2022-03-30T12:36:43.148416Z, end-time: 2022-03-30T12:36:49.855459Z, duration: 6, exit-code: 0 python3.8 -mvirtualenv /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs Using base prefix '/home/docs/.pyenv/versions/3.8.0' New python executable in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/bin/python3.8 Also creating executable in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/bin/python Installing setuptools, pip, wheel... done. [rtd-command-info] start-time: 2022-03-30T12:36:49.991535Z, end-time: 2022-03-30T12:36:51.149891Z, duration: 1, exit-code: 0 /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/bin/python -m pip install --upgrade --no-cache-dir pip Requirement already satisfied: pip in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages (22.0.4) [rtd-command-info] start-time: 2022-03-30T12:36:51.279447Z, end-time: 2022-03-30T12:37:31.926175Z, duration: 40, exit-code: 0 /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/bin/python -m pip install --upgrade --no-cache-dir Pygments==2.3.1 setuptools==41.0.1 docutils==0.14 mock==1.0.1 pillow==5.4.1 alabaster>=0.7,<0.8,!=0.7.5 commonmark==0.8.1 recommonmark==0.5.0 sphinx<2 sphinx-rtd-theme<0.5 readthedocs-sphinx-ext<1.1 Collecting Pygments==2.3.1 Downloading Pygments-2.3.1-py2.py3-none-any.whl (849 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 849.5/849.5 KB 9.6 MB/s eta 0:00:00 Collecting setuptools==41.0.1 Downloading setuptools-41.0.1-py2.py3-none-any.whl (575 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 576.0/576.0 KB 96.0 MB/s eta 0:00:00 Collecting docutils==0.14 Downloading docutils-0.14-py3-none-any.whl (543 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 543.2/543.2 KB 44.3 MB/s eta 0:00:00 Collecting mock==1.0.1 Downloading mock-1.0.1.zip (861 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 861.9/861.9 KB 82.2 MB/s eta 0:00:00 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting pillow==5.4.1 Downloading Pillow-5.4.1.tar.gz (16.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.0/16.0 MB 80.6 MB/s eta 0:00:00 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting alabaster!=0.7.5,<0.8,>=0.7 Downloading alabaster-0.7.12-py2.py3-none-any.whl (14 kB) Collecting commonmark==0.8.1 Downloading commonmark-0.8.1-py2.py3-none-any.whl (47 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.4/47.4 KB 89.0 MB/s eta 0:00:00 Collecting recommonmark==0.5.0 Downloading recommonmark-0.5.0-py2.py3-none-any.whl (9.8 kB) Collecting sphinx<2 Downloading Sphinx-1.8.6-py2.py3-none-any.whl (3.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 110.0 MB/s eta 0:00:00 Collecting sphinx-rtd-theme<0.5 Downloading sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl (6.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.4/6.4 MB 106.3 MB/s eta 0:00:00 Collecting readthedocs-sphinx-ext<1.1 Downloading readthedocs_sphinx_ext-1.0.4-py2.py3-none-any.whl (28 kB) Collecting future Downloading future-0.18.2.tar.gz (829 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 829.2/829.2 KB 122.3 MB/s eta 0:00:00 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting requests>=2.0.0 Downloading requests-2.27.1-py2.py3-none-any.whl (63 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.1/63.1 KB 96.2 MB/s eta 0:00:00 Collecting babel!=2.0,>=1.3 Downloading Babel-2.9.1-py2.py3-none-any.whl (8.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.8/8.8 MB 107.1 MB/s eta 0:00:00 Collecting imagesize Downloading imagesize-1.3.0-py2.py3-none-any.whl (5.2 kB) Collecting sphinxcontrib-websupport Downloading sphinxcontrib_websupport-1.2.4-py2.py3-none-any.whl (39 kB) Collecting snowballstemmer>=1.1 Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.0/93.0 KB 110.2 MB/s eta 0:00:00 Collecting packaging Downloading packaging-21.3-py3-none-any.whl (40 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 KB 114.8 MB/s eta 0:00:00 Collecting six>=1.5 Downloading six-1.16.0-py2.py3-none-any.whl (11 kB) Collecting Jinja2>=2.3 Downloading Jinja2-3.1.1-py3-none-any.whl (132 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 132.6/132.6 KB 122.0 MB/s eta 0:00:00 Collecting pytz>=2015.7 Downloading pytz-2022.1-py2.py3-none-any.whl (503 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 503.5/503.5 KB 133.0 MB/s eta 0:00:00 Collecting MarkupSafe>=2.0 Downloading MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB) Collecting idna<4,>=2.5 Downloading idna-3.3-py3-none-any.whl (61 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.2/61.2 KB 111.7 MB/s eta 0:00:00 Collecting urllib3<1.27,>=1.21.1 Downloading urllib3-1.26.9-py2.py3-none-any.whl (138 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 139.0/139.0 KB 128.9 MB/s eta 0:00:00 Collecting certifi>=2017.4.17 Downloading certifi-2021.10.8-py2.py3-none-any.whl (149 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 149.2/149.2 KB 132.8 MB/s eta 0:00:00 Collecting charset-normalizer~=2.0.0 Downloading charset_normalizer-2.0.12-py3-none-any.whl (39 kB) Collecting pyparsing!=3.0.5,>=2.0.2 Downloading pyparsing-3.0.7-py3-none-any.whl (98 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.0/98.0 KB 116.7 MB/s eta 0:00:00 Collecting sphinxcontrib-serializinghtml Downloading sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl (94 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 94.0/94.0 KB 110.4 MB/s eta 0:00:00 Building wheels for collected packages: mock, pillow, future Building wheel for mock (setup.py): started Building wheel for mock (setup.py): finished with status 'done' Created wheel for mock: filename=mock-1.0.1-py3-none-any.whl size=23773 sha256=4656b3762d80ad72acd30ea1d9ef0fa9356d07e1b8ece125f7be3ad303c5b158 Stored in directory: /tmp/pip-ephem-wheel-cache-stqnqhjo/wheels/41/7c/21/90057f91c6ead7c77a90c52d6e85ca48bf82d8b0d3f8dfbb65 Building wheel for pillow (setup.py): started Building wheel for pillow (setup.py): finished with status 'done' Created wheel for pillow: filename=Pillow-5.4.1-cp38-cp38-linux_x86_64.whl size=1263018 sha256=22fb159464389dfae3fc060b7693eada99e3eefbf69abcd7a97ad40ce0d7581d Stored in directory: /tmp/pip-ephem-wheel-cache-stqnqhjo/wheels/5f/a8/6b/5b7b3f764d879214eb03570f74d2b086201eb514e6ffa68d6d Building wheel for future (setup.py): started Building wheel for future (setup.py): finished with status 'done' Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491070 sha256=63522b4f1c00b2b1a1bef913e75355f871bc9f91be60207360caaef77ab3eba1 Stored in directory: /tmp/pip-ephem-wheel-cache-stqnqhjo/wheels/8e/70/28/3d6ccd6e315f65f245da085482a2e1c7d14b90b30f239e2cf4 Successfully built mock pillow future Installing collected packages: snowballstemmer, pytz, Pygments, mock, docutils, certifi, alabaster, urllib3, sphinxcontrib-serializinghtml, six, setuptools, pyparsing, pillow, MarkupSafe, imagesize, idna, future, charset-normalizer, babel, sphinxcontrib-websupport, requests, packaging, Jinja2, commonmark, sphinx, readthedocs-sphinx-ext, sphinx-rtd-theme, recommonmark Attempting uninstall: setuptools Found existing installation: setuptools 61.2.0 Uninstalling setuptools-61.2.0: Successfully uninstalled setuptools-61.2.0 Successfully installed Jinja2-3.1.1 MarkupSafe-2.1.1 Pygments-2.3.1 alabaster-0.7.12 babel-2.9.1 certifi-2021.10.8 charset-normalizer-2.0.12 commonmark-0.8.1 docutils-0.14 future-0.18.2 idna-3.3 imagesize-1.3.0 mock-1.0.1 packaging-21.3 pillow-5.4.1 pyparsing-3.0.7 pytz-2022.1 readthedocs-sphinx-ext-1.0.4 recommonmark-0.5.0 requests-2.27.1 setuptools-41.0.1 six-1.16.0 snowballstemmer-2.2.0 sphinx-1.8.6 sphinx-rtd-theme-0.4.3 sphinxcontrib-serializinghtml-1.1.5 sphinxcontrib-websupport-1.2.4 urllib3-1.26.9 [rtd-command-info] start-time: 2022-03-30T12:37:32.057977Z, end-time: 2022-03-30T12:37:45.112861Z, duration: 13, exit-code: 0 /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/bin/python -m pip install --exists-action=w --no-cache-dir -r doc/requirements.txt Collecting git+https://git.xfel.eu/gitlab/xfel-rtd/rtd-conf.git (from -r doc/requirements.txt (line 1)) Cloning https://git.xfel.eu/gitlab/xfel-rtd/rtd-conf.git to /tmp/pip-req-build-z69arr8i Running command git clone --filter=blob:none --quiet https://git.xfel.eu/gitlab/xfel-rtd/rtd-conf.git /tmp/pip-req-build-z69arr8i Resolved https://git.xfel.eu/gitlab/xfel-rtd/rtd-conf.git to commit 3d66246db37045eaa716d206b13441613c1b413e Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting slumber==0.7.1 Downloading slumber-0.7.1.tar.gz (10 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting traits==4.6.0 Downloading traits-4.6.0.zip (546 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 546.3/546.3 KB 8.6 MB/s eta 0:00:00 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Requirement already satisfied: requests in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages (from slumber==0.7.1->-r doc/requirements.txt (line 2)) (2.27.1) Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages (from requests->slumber==0.7.1->-r doc/requirements.txt (line 2)) (1.26.9) Requirement already satisfied: idna<4,>=2.5 in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages (from requests->slumber==0.7.1->-r doc/requirements.txt (line 2)) (3.3) Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages (from requests->slumber==0.7.1->-r doc/requirements.txt (line 2)) (2.0.12) Requirement already satisfied: certifi>=2017.4.17 in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages (from requests->slumber==0.7.1->-r doc/requirements.txt (line 2)) (2021.10.8) Building wheels for collected packages: slumber, traits, RTDConf Building wheel for slumber (setup.py): started Building wheel for slumber (setup.py): finished with status 'done' Created wheel for slumber: filename=slumber-0.7.1-py3-none-any.whl size=8098 sha256=488a3395f08b9d62ae5803262224cdf03a39f862b7f356b4ea2daceb14ad7ff2 Stored in directory: /tmp/pip-ephem-wheel-cache-e5p84lnb/wheels/d9/31/b7/b6202c6ff32847610ed92e1d3cc9d7cf732bcb2d9b5abad083 Building wheel for traits (setup.py): started Building wheel for traits (setup.py): finished with status 'done' Created wheel for traits: filename=traits-4.6.0-cp38-cp38-linux_x86_64.whl size=380150 sha256=e8f05d1f683075bfd6f8e7709de22adbd107ba02bba2319e748236092f206dd6 Stored in directory: /tmp/pip-ephem-wheel-cache-e5p84lnb/wheels/6e/ce/74/19d60e5c3351c159bc93eed154c93cb671d7b87da38099dace Building wheel for RTDConf (setup.py): started Building wheel for RTDConf (setup.py): finished with status 'done' Created wheel for RTDConf: filename=RTDConf-0.1-py3-none-any.whl size=2648 sha256=e7457a8cf1943ddff65f26d35929fd1a589b04723cc66e7f63af9fe47061c427 Stored in directory: /tmp/pip-ephem-wheel-cache-e5p84lnb/wheels/01/fd/16/1ffed8378bed4ec35eeaf9c3f3b641dce1ac3dfa3e8662e0eb Successfully built slumber traits RTDConf Installing collected packages: traits, RTDConf, slumber Successfully installed RTDConf-0.1 slumber-0.7.1 traits-4.6.0 [rtd-command-info] start-time: 2022-03-30T12:37:46.066900Z, end-time: 2022-03-30T12:37:46.159806Z, duration: 0, exit-code: 0 cat doc/source/conf.py # Configuration file for the Sphinx documentation builder. # # This file only contains a selection of the most common options. For a full # list see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html # -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # # import os # import sys # sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- project = 'recoveryPortal' copyright = '2022, Michael Smith' author = 'Michael Smith' # The full version, including alpha/beta/rc tags release = '1.0.0' # -- General configuration --------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = ['myst_parser' ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = 'alabaster' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] ########################################################################### # auto-created readthedocs.org specific configuration # ########################################################################### # # The following code was added during an automated build on readthedocs.org # It is auto created and injected for every build. The result is based on the # conf.py.tmpl file found in the readthedocs.org codebase: # https://github.com/rtfd/readthedocs.org/blob/master/readthedocs/doc_builder/templates/doc_builder/conf.py.tmpl # import importlib import sys import os.path from six import string_types from sphinx import version_info # Get suffix for proper linking to GitHub # This is deprecated in Sphinx 1.3+, # as each page can have its own suffix if globals().get('source_suffix', False): if isinstance(source_suffix, string_types): SUFFIX = source_suffix elif isinstance(source_suffix, (list, tuple)): # Sphinx >= 1.3 supports list/tuple to define multiple suffixes SUFFIX = source_suffix[0] elif isinstance(source_suffix, dict): # Sphinx >= 1.8 supports a mapping dictionary for multiple suffixes SUFFIX = list(source_suffix.keys())[0] # make a ``list()`` for py2/py3 compatibility else: # default to .rst SUFFIX = '.rst' else: SUFFIX = '.rst' # Add RTD Static Path. Add to the end because it overwrites previous files. if not 'html_static_path' in globals(): html_static_path = [] if os.path.exists('_static'): html_static_path.append('_static') # Add RTD Theme only if they aren't overriding it already using_rtd_theme = ( ( 'html_theme' in globals() and html_theme in ['default'] and # Allow people to bail with a hack of having an html_style 'html_style' not in globals() ) or 'html_theme' not in globals() ) if using_rtd_theme: theme = importlib.import_module('sphinx_rtd_theme') html_theme = 'sphinx_rtd_theme' html_style = None html_theme_options = {} if 'html_theme_path' in globals(): html_theme_path.append(theme.get_html_theme_path()) else: html_theme_path = [theme.get_html_theme_path()] if globals().get('websupport2_base_url', False): websupport2_base_url = 'http://rtd.xfel.eu/websupport' websupport2_static_url = '/static/' #Add project information to the template context. context = { 'using_theme': using_rtd_theme, 'html_theme': html_theme, 'current_version': "basic-user-docs", 'version_slug': "basic-user-docs", 'MEDIA_URL': "media/", 'STATIC_URL': "/static/", 'PRODUCTION_DOMAIN': "rtd.xfel.eu", 'versions': [ ("latest", "/en/latest/"), ("basic-user-docs", "/en/basic-user-docs/"), ], 'downloads': [ ], 'subprojects': [ ], 'slug': 'recovery-portal', 'name': u'Recovery Portal', 'rtd_language': u'en', 'programming_language': u'words', 'canonical_url': 'http://rtd.xfel.eu/docs/recovery-portal/en/latest/', 'analytics_code': 'None', 'single_version': False, 'conf_py_path': '/doc/source/', 'api_host': 'http://rtd.xfel.eu', 'github_user': 'None', 'proxied_api_host': '/_', 'github_repo': 'None', 'github_version': 'basic-user-docs', 'display_github': False, 'bitbucket_user': 'None', 'bitbucket_repo': 'None', 'bitbucket_version': 'basic-user-docs', 'display_bitbucket': False, 'gitlab_user': 'None', 'gitlab_repo': 'None', 'gitlab_version': 'basic-user-docs', 'display_gitlab': False, 'READTHEDOCS': True, 'using_theme': (html_theme == "default"), 'new_theme': (html_theme == "sphinx_rtd_theme"), 'source_suffix': SUFFIX, 'ad_free': False, 'docsearch_disabled': False, 'user_analytics_code': '', 'global_analytics_code': 'None', 'commit': '60c3b081', } if 'html_context' in globals(): html_context.update(context) else: html_context = context # Add custom RTD extension if 'extensions' in globals(): # Insert at the beginning because it can interfere # with other extensions. # See https://github.com/rtfd/readthedocs.org/pull/4054 extensions.insert(0, "readthedocs_ext.readthedocs") else: extensions = ["readthedocs_ext.readthedocs"] # Add External version warning banner to the external version documentation if 'branch' == 'external': extensions.insert(1, "readthedocs_ext.external_version_warning") project_language = 'en' # User's Sphinx configurations language_user = globals().get('language', None) latex_engine_user = globals().get('latex_engine', None) latex_elements_user = globals().get('latex_elements', None) # Remove this once xindy gets installed in Docker image and XINDYOPS # env variable is supported # https://github.com/rtfd/readthedocs-docker-images/pull/98 latex_use_xindy = False chinese = any([ language_user in ('zh_CN', 'zh_TW'), project_language in ('zh_CN', 'zh_TW'), ]) japanese = any([ language_user == 'ja', project_language == 'ja', ]) if chinese: latex_engine = latex_engine_user or 'xelatex' latex_elements_rtd = { 'preamble': '\\usepackage[UTF8]{ctex}\n', } latex_elements = latex_elements_user or latex_elements_rtd elif japanese: latex_engine = latex_engine_user or 'platex' # Make sure our build directory is always excluded exclude_patterns = globals().get('exclude_patterns', []) exclude_patterns.extend(['_build']) [rtd-command-info] start-time: 2022-03-30T12:37:46.293048Z, end-time: 2022-03-30T12:37:46.851376Z, duration: 0, exit-code: 2 python /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/bin/sphinx-build -T -b readthedocs -d _build/doctrees-readthedocs -D language=en . _build/html Running Sphinx v1.8.6 loading translations [en]... done Traceback (most recent call last): File "/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/sphinx/registry.py", line 472, in load_extension mod = __import__(extname, None, None, ['setup']) File "/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/sphinx/builders/latex/__init__.py", line 37, in from sphinx.writers.latex import DEFAULT_SETTINGS, LaTeXWriter, LaTeXTranslator File "/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/sphinx/writers/latex.py", line 33, in from sphinx.util.template import LaTeXRenderer File "/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/sphinx/util/template.py", line 17, in from sphinx.jinja2glue import SphinxFileSystemLoader File "/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/sphinx/jinja2glue.py", line 16, in from jinja2 import FileSystemLoader, BaseLoader, TemplateNotFound, \ ImportError: cannot import name 'contextfunction' from 'jinja2' (/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/jinja2/__init__.py) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/sphinx/cmd/build.py", line 300, in build_main app = Sphinx(args.sourcedir, args.confdir, args.outputdir, File "/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/sphinx/application.py", line 224, in __init__ self.setup_extension(extension) File "/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/sphinx/application.py", line 449, in setup_extension self.registry.load_extension(self, extname) File "/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/sphinx/registry.py", line 475, in load_extension raise ExtensionError(__('Could not import extension %s') % extname, err) sphinx.errors.ExtensionError: Could not import extension sphinx.builders.latex (exception: cannot import name 'contextfunction' from 'jinja2' (/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/jinja2/__init__.py)) Extension error: Could not import extension sphinx.builders.latex (exception: cannot import name 'contextfunction' from 'jinja2' (/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/basic-user-docs/lib/python3.8/site-packages/jinja2/__init__.py))