Read the Docs build information Build id: 23339 Project: recovery-portal Version: latest Commit: 3b4260c5112d1dd1c7f895d51aa8e311e8a91684 Date: 2022-03-30T11:48:36.063995Z State: finished Success: False [rtd-command-info] start-time: 2022-03-30T11:48:37.806883Z, end-time: 2022-03-30T11:48:39.131521Z, duration: 1, 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-30T11:48:39.784119Z, end-time: 2022-03-30T11:48:39.872513Z, duration: 0, exit-code: 0 git checkout --force origin/master Note: checking out 'origin/master'. 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 3b4260c TEST: neuter the BlockConfigurationDelegate [rtd-command-info] start-time: 2022-03-30T11:48:40.012824Z, end-time: 2022-03-30T11:48:40.095986Z, duration: 0, exit-code: 0 git clean -d -f -f [rtd-command-info] start-time: 2022-03-30T11:48:42.331792Z, end-time: 2022-03-30T11:48:51.052715Z, duration: 8, exit-code: 0 python3.7 -mvirtualenv /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/latest Using base prefix '/home/docs/.pyenv/versions/3.7.3' New python executable in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/latest/bin/python3.7 Also creating executable in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/latest/bin/python Installing setuptools, pip, wheel... done. [rtd-command-info] start-time: 2022-03-30T11:48:51.192906Z, end-time: 2022-03-30T11:48:52.475388Z, duration: 1, exit-code: 0 /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/latest/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/latest/lib/python3.7/site-packages (22.0.4) [rtd-command-info] start-time: 2022-03-30T11:48:52.608880Z, end-time: 2022-03-30T11:49:09.268115Z, duration: 16, exit-code: 0 /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/latest/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 10.9 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 118.9 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 109.6 MB/s eta 0:00:00 Collecting mock==1.0.1 Downloading mock-1.0.1.zip (861 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 861.9/861.9 KB 124.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-cp37-cp37m-manylinux1_x86_64.whl (2.0 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 118.2 MB/s eta 0:00:00 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 95.4 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 119.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 120.1 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 145.0 MB/s eta 0:00:00 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting packaging Downloading packaging-21.3-py3-none-any.whl (40 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 KB 104.0 MB/s eta 0:00:00 Collecting Jinja2>=2.3 Downloading Jinja2-3.1.1-py3-none-any.whl (132 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 132.6/132.6 KB 119.4 MB/s eta 0:00:00 Collecting six>=1.5 Downloading six-1.16.0-py2.py3-none-any.whl (11 kB) Collecting sphinxcontrib-websupport Downloading sphinxcontrib_websupport-1.2.4-py2.py3-none-any.whl (39 kB) Collecting babel!=2.0,>=1.3 Downloading Babel-2.9.1-py2.py3-none-any.whl (8.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.8/8.8 MB 120.7 MB/s eta 0:00:00 Collecting requests>=2.0.0 Downloading requests-2.27.1-py2.py3-none-any.whl (63 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.1/63.1 KB 121.4 MB/s eta 0:00:00 Collecting snowballstemmer>=1.1 Downloading snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.0/93.0 KB 117.1 MB/s eta 0:00:00 Collecting imagesize Downloading imagesize-1.3.0-py2.py3-none-any.whl (5.2 kB) Collecting pytz>=2015.7 Downloading pytz-2022.1-py2.py3-none-any.whl (503 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 503.5/503.5 KB 133.2 MB/s eta 0:00:00 Collecting MarkupSafe>=2.0 Downloading MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB) Collecting certifi>=2017.4.17 Downloading certifi-2021.10.8-py2.py3-none-any.whl (149 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 149.2/149.2 KB 128.4 MB/s eta 0:00:00 Collecting idna<4,>=2.5 Downloading idna-3.3-py3-none-any.whl (61 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.2/61.2 KB 96.4 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 110.5 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 109.5 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 125.2 MB/s eta 0:00:00 Building wheels for collected packages: mock, 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=7c9857281a1363957c7d94b5b5d01675f16f6dc413b440e9076e0b73c7a4df94 Stored in directory: /tmp/pip-ephem-wheel-cache-2_i2_pg2/wheels/7a/94/b1/0fdc5339a5bd487a5cc15421ec200d9ba3e2aa7190e4a727f1 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=ed0a9e28f275d4f991e42bc5d03c71787960bd8d74d4eec1359a1503d40eed06 Stored in directory: /tmp/pip-ephem-wheel-cache-2_i2_pg2/wheels/56/b0/fe/4410d17b32f1f0c3cf54cdfb2bc04d7b4b8f4ae377e2229ba0 Successfully built mock 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-30T11:49:09.400872Z, end-time: 2022-03-30T11:49:23.572202Z, duration: 14, exit-code: 0 /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/latest/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-it7ez0lr Running command git clone --filter=blob:none --quiet https://git.xfel.eu/gitlab/xfel-rtd/rtd-conf.git /tmp/pip-req-build-it7ez0lr 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.4 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/latest/lib/python3.7/site-packages (from slumber==0.7.1->-r doc/requirements.txt (line 2)) (2.27.1) Requirement already satisfied: idna<4,>=2.5 in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/latest/lib/python3.7/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/latest/lib/python3.7/site-packages (from requests->slumber==0.7.1->-r doc/requirements.txt (line 2)) (2.0.12) Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/latest/lib/python3.7/site-packages (from requests->slumber==0.7.1->-r doc/requirements.txt (line 2)) (1.26.9) Requirement already satisfied: certifi>=2017.4.17 in /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/latest/lib/python3.7/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=72b3485b5c74569ae3c6b12bc7f5ea10364ce44cbe29efeaf44c87ff16c353be Stored in directory: /tmp/pip-ephem-wheel-cache-qbigvpl1/wheels/eb/d6/67/f165e383ef89df4d90f29343f2e120543adc1886663e9f139b 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-cp37-cp37m-linux_x86_64.whl size=363924 sha256=11b3b4738fdca21c7b3633562c3da5d65d8d7f527b0c4fe6ab58ba5b36f04d6b Stored in directory: /tmp/pip-ephem-wheel-cache-qbigvpl1/wheels/fd/b6/5a/f38aeaf6a768958f70ccd537ce3e1af67667d1f428dbd8e578 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=65c682fb4f03caa57af15793ba36bfdc3963ed245c955c109cf9d0a3bf7fde52 Stored in directory: /tmp/pip-ephem-wheel-cache-qbigvpl1/wheels/17/a3/d4/e42b943fdbccc9aa92ab080ea1739cd6987c6c6d000fb359e4 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-30T11:49:24.625699Z, end-time: 2022-03-30T11:49:24.736372Z, duration: 0, exit-code: 0 cat doc/conf.py # -*- coding: utf-8 -*- from __future__ import division, print_function, unicode_literals from datetime import datetime from recommonmark.parser import CommonMarkParser extensions = [] templates_path = ['templates', '_templates', '.templates'] source_suffix = ['.rst', '.md'] source_parsers = { '.md': CommonMarkParser, } master_doc = 'index' project = u'Recovery Portal' copyright = str(datetime.now().year) version = 'latest' release = 'latest' exclude_patterns = ['_build'] pygments_style = 'sphinx' htmlhelp_basename = 'recovery-portal' html_theme = 'sphinx_rtd_theme' file_insertion_enabled = False latex_documents = [ ('index', 'recovery-portal.tex', u'Recovery Portal Documentation', u'', 'manual'), ] ########################################################################### # 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': "latest", 'version_slug': "latest", 'MEDIA_URL': "media/", 'STATIC_URL': "/static/", 'PRODUCTION_DOMAIN': "rtd.xfel.eu", 'versions': [ ("latest", "/en/latest/"), ], '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/', 'api_host': 'http://rtd.xfel.eu', 'github_user': 'None', 'proxied_api_host': '/_', 'github_repo': 'None', 'github_version': 'master', 'display_github': False, 'bitbucket_user': 'None', 'bitbucket_repo': 'None', 'bitbucket_version': 'master', 'display_bitbucket': False, 'gitlab_user': 'None', 'gitlab_repo': 'None', 'gitlab_version': 'master', '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': '3b4260c5', } 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-30T11:49:24.877493Z, end-time: 2022-03-30T11:49:25.599669Z, duration: 0, exit-code: 2 python /usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/latest/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/latest/lib/python3.7/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/latest/lib/python3.7/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/latest/lib/python3.7/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/latest/lib/python3.7/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/latest/lib/python3.7/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/latest/lib/python3.7/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/latest/lib/python3.7/site-packages/sphinx/cmd/build.py", line 303, in build_main args.tags, args.verbosity, args.jobs, args.keep_going) File "/usr/src/app/checkouts/readthedocs.org/user_builds/recovery-portal/envs/latest/lib/python3.7/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/latest/lib/python3.7/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/latest/lib/python3.7/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/latest/lib/python3.7/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/latest/lib/python3.7/site-packages/jinja2/__init__.py))