Read the Docs build information Build id: 251489 Project: leapyear-python-docs Version: latest Commit: 856466ce9d6309b301d936689adfdbc98c66783e Date: 2019-10-19T09:44:49.850945Z State: finished Success: False [rtd-command-info] start-time: 2019-10-19T09:44:50.319505Z, end-time: 2019-10-19T09:44:53.409327Z, duration: 3, exit-code: 0 git clone --no-single-branch --depth 50 git@github.com:LeapYear/python-docs.git . Cloning into '.'... [rtd-command-info] start-time: 2019-10-19T09:44:53.652622Z, end-time: 2019-10-19T09:44:53.939955Z, 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 856466c master [rtd-command-info] start-time: 2019-10-19T09:44:54.021974Z, end-time: 2019-10-19T09:44:54.035619Z, duration: 0, exit-code: 0 git clean -d -f -f [rtd-command-info] start-time: 2019-10-19T09:44:55.094727Z, end-time: 2019-10-19T09:44:59.038582Z, duration: 3, exit-code: 0 python3.6 -mvirtualenv --no-site-packages --no-download Using base prefix '/home/docs/.pyenv/versions/3.6.4' New python executable in /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/bin/python3.6 Also creating executable in /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/bin/python Installing setuptools, pip, wheel... done. [rtd-command-info] start-time: 2019-10-19T09:44:59.122676Z, end-time: 2019-10-19T09:45:02.205731Z, duration: 3, exit-code: 0 python -m pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/.cache/pip pip Collecting pip Downloading https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl (1.4MB) Installing collected packages: pip Found existing installation: pip 18.1 Uninstalling pip-18.1: Successfully uninstalled pip-18.1 Successfully installed pip-19.3.1 [rtd-command-info] start-time: 2019-10-19T09:45:02.347698Z, end-time: 2019-10-19T09:45:14.840284Z, duration: 12, exit-code: 0 python -m pip install --upgrade --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/.cache/pip 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 https://files.pythonhosted.org/packages/13/e5/6d710c9cf96c31ac82657bcfb441df328b22df8564d58d0c4cd62612674c/Pygments-2.3.1-py2.py3-none-any.whl (849kB) Collecting setuptools==41.0.1 Downloading https://files.pythonhosted.org/packages/ec/51/f45cea425fd5cb0b0380f5b0f048ebc1da5b417e48d304838c02d6288a1e/setuptools-41.0.1-py2.py3-none-any.whl (575kB) Collecting docutils==0.14 Downloading https://files.pythonhosted.org/packages/36/fa/08e9e6e0e3cbd1d362c3bbee8d01d0aedb2155c4ac112b19ef3cae8eed8d/docutils-0.14-py3-none-any.whl (543kB) Collecting mock==1.0.1 Downloading https://files.pythonhosted.org/packages/a2/52/7edcd94f0afb721a2d559a5b9aae8af4f8f2c79bc63fdbe8a8a6c9b23bbe/mock-1.0.1.tar.gz (818kB) Collecting pillow==5.4.1 Downloading https://files.pythonhosted.org/packages/85/5e/e91792f198bbc5a0d7d3055ad552bc4062942d27eaf75c3e2783cf64eae5/Pillow-5.4.1-cp36-cp36m-manylinux1_x86_64.whl (2.0MB) Collecting alabaster!=0.7.5,<0.8,>=0.7 Downloading https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl Collecting commonmark==0.8.1 Downloading https://files.pythonhosted.org/packages/ab/ca/439c88039583a29564a0043186875258e9a4f041fb5c422cd387b8e10175/commonmark-0.8.1-py2.py3-none-any.whl (47kB) Collecting recommonmark==0.5.0 Downloading https://files.pythonhosted.org/packages/9b/3d/92ea48401622510e57b4bdaa74dc9db2fb9e9e892324b48f9c02d716a93a/recommonmark-0.5.0-py2.py3-none-any.whl Collecting sphinx<2 Downloading https://files.pythonhosted.org/packages/7d/66/a4af242b4348b729b9d46ce5db23943ce9bca7da9bbe2ece60dc27f26420/Sphinx-1.8.5-py2.py3-none-any.whl (3.1MB) Collecting sphinx-rtd-theme<0.5 Downloading https://files.pythonhosted.org/packages/60/b4/4df37087a1d36755e3a3bfd2a30263f358d2dea21938240fa02313d45f51/sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl (6.4MB) Collecting readthedocs-sphinx-ext<1.1 Downloading https://files.pythonhosted.org/packages/51/43/a5a98d9aec325b2824bdf504fa446ae876d0909d03e28667018f9eb01bcd/readthedocs_sphinx_ext-1.0.0-py2.py3-none-any.whl Collecting future Downloading https://files.pythonhosted.org/packages/3f/bf/57733d44afd0cf67580658507bd11d3ec629612d5e0e432beb4b8f6fbb04/future-0.18.1.tar.gz (828kB) Collecting six>=1.5 Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl Collecting babel!=2.0,>=1.3 Downloading https://files.pythonhosted.org/packages/2c/60/f2af68eb046c5de5b1fe6dd4743bf42c074f7141fe7b2737d3061533b093/Babel-2.7.0-py2.py3-none-any.whl (8.4MB) Collecting packaging Downloading https://files.pythonhosted.org/packages/cf/94/9672c2d4b126e74c4496c6b3c58a8b51d6419267be9e70660ba23374c875/packaging-19.2-py2.py3-none-any.whl Collecting requests>=2.0.0 Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB) Collecting sphinxcontrib-websupport Downloading https://files.pythonhosted.org/packages/2a/59/d64bda9b7480a84a3569be4dde267c0f6675b255ba63b4c8e84469940457/sphinxcontrib_websupport-1.1.2-py2.py3-none-any.whl Collecting Jinja2>=2.3 Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB) Collecting imagesize Downloading https://files.pythonhosted.org/packages/fc/b6/aef66b4c52a6ad6ac18cf6ebc5731ed06d8c9ae4d3b2d9951f261150be67/imagesize-1.1.0-py2.py3-none-any.whl Collecting snowballstemmer>=1.1 Downloading https://files.pythonhosted.org/packages/7d/4b/cdf1113a0e88b641893b814e9c36f69a6fda28cd88b62c7f0d858cde3166/snowballstemmer-2.0.0-py2.py3-none-any.whl (97kB) Collecting pytz>=2015.7 Downloading https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl (509kB) Collecting pyparsing>=2.0.2 Downloading https://files.pythonhosted.org/packages/11/fa/0160cd525c62d7abd076a070ff02b2b94de589f1a9789774f17d7c54058e/pyparsing-2.4.2-py2.py3-none-any.whl (65kB) Collecting certifi>=2017.4.17 Downloading https://files.pythonhosted.org/packages/18/b0/8146a4f8dd402f60744fa380bc73ca47303cccf8b9190fd16a827281eac2/certifi-2019.9.11-py2.py3-none-any.whl (154kB) Collecting idna<2.9,>=2.5 Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB) Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 Downloading https://files.pythonhosted.org/packages/e0/da/55f51ea951e1b7c63a579c09dd7db825bb730ec1fe9c0180fc77bfb31448/urllib3-1.25.6-py2.py3-none-any.whl (125kB) Collecting chardet<3.1.0,>=3.0.2 Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB) Collecting MarkupSafe>=0.23 Downloading https://files.pythonhosted.org/packages/b2/5f/23e0023be6bb885d00ffbefad2942bc51a620328ee910f64abe5a8d18dd1/MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl 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-cp36-none-any.whl size=23755 sha256=1be6972ff0e24dc8ff594708803baf778751a98cdb812ff5cadb5434fda7a52e Stored in directory: /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/.cache/pip/wheels/7e/72/92/744b532c779242b57aab4bcba80c312b30c069bbd60025e7e6 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.1-cp36-none-any.whl size=490417 sha256=3f6bf640298813fb7f12386bd9ecb4a8114434d68a046a801ed664b714e52105 Stored in directory: /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/.cache/pip/wheels/74/bc/50/ae030267a192919b289f84661cfeb5573cf383841c543e8696 Successfully built mock future Installing collected packages: Pygments, setuptools, docutils, mock, pillow, alabaster, future, commonmark, six, pytz, babel, pyparsing, packaging, certifi, idna, urllib3, chardet, requests, sphinxcontrib-websupport, MarkupSafe, Jinja2, imagesize, snowballstemmer, sphinx, recommonmark, sphinx-rtd-theme, readthedocs-sphinx-ext Found existing installation: setuptools 40.6.3 Uninstalling setuptools-40.6.3: Successfully uninstalled setuptools-40.6.3 Successfully installed Jinja2-2.10.3 MarkupSafe-1.1.1 Pygments-2.3.1 alabaster-0.7.12 babel-2.7.0 certifi-2019.9.11 chardet-3.0.4 commonmark-0.8.1 docutils-0.14 future-0.18.1 idna-2.8 imagesize-1.1.0 mock-1.0.1 packaging-19.2 pillow-5.4.1 pyparsing-2.4.2 pytz-2019.3 readthedocs-sphinx-ext-1.0.0 recommonmark-0.5.0 requests-2.22.0 setuptools-41.0.1 six-1.12.0 snowballstemmer-2.0.0 sphinx-1.8.5 sphinx-rtd-theme-0.4.3 sphinxcontrib-websupport-1.1.2 urllib3-1.25.6 [rtd-command-info] start-time: 2019-10-19T09:45:14.926944Z, end-time: 2019-10-19T09:45:28.005401Z, duration: 13, exit-code: 0 python -m pip install --upgrade --upgrade-strategy eager --cache-dir /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/.cache/pip /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/checkouts/latest Processing /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/checkouts/latest Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing wheel metadata: started Preparing wheel metadata: finished with status 'done' Collecting numpy==1.13.3; python_version >= "3.0" Downloading https://files.pythonhosted.org/packages/57/a7/e3e6bd9d595125e1abbe162e323fd2d06f6f6683185294b79cd2cdb190d5/numpy-1.13.3-cp36-cp36m-manylinux1_x86_64.whl (17.0MB) Collecting typing==3.7.4; python_version >= "3.0" Downloading https://files.pythonhosted.org/packages/28/b8/a1d6b7cf322f91305bcb5e7d8f6c3028954d1e3e716cddc1cdce2ac63247/typing-3.7.4-py3-none-any.whl Collecting python-dateutil==2.6.1; python_version >= "3.0" Downloading https://files.pythonhosted.org/packages/4b/0d/7ed381ab4fe80b8ebf34411d14f253e1cf3e56e2820ffa1d8844b23859a2/python_dateutil-2.6.1-py2.py3-none-any.whl (194kB) Collecting pandas==0.24.2; python_version >= "3.0" Downloading https://files.pythonhosted.org/packages/19/74/e50234bc82c553fecdbd566d8650801e3fe2d6d8c8d940638e3d8a7c5522/pandas-0.24.2-cp36-cp36m-manylinux1_x86_64.whl (10.1MB) Requirement already up-to-date: six>=1.5 in /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages (from python-dateutil==2.6.1; python_version >= "3.0"->leapyear==0.0.0) (1.12.0) Requirement already up-to-date: pytz>=2011k in /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages (from pandas==0.24.2; python_version >= "3.0"->leapyear==0.0.0) (2019.3) Building wheels for collected packages: leapyear Building wheel for leapyear (PEP 517): started Building wheel for leapyear (PEP 517): finished with status 'done' Created wheel for leapyear: filename=leapyear-0.0.0-cp36-none-any.whl size=273975 sha256=2eb704554bfe527c376a4fdd3c5872d9ced0afde685027946f93fccf92ae7eda Stored in directory: /tmp/pip-ephem-wheel-cache-gnzistok/wheels/f7/07/82/60b779e5802f0e564beb2f30873542d2d8030b15da536750bc Successfully built leapyear Installing collected packages: numpy, typing, python-dateutil, pandas, leapyear Successfully installed leapyear-0.0.0 numpy-1.13.3 pandas-0.24.2 python-dateutil-2.6.1 typing-3.7.4 [rtd-command-info] start-time: 2019-10-19T09:45:29.451117Z, end-time: 2019-10-19T09:45:29.770062Z, duration: 0, exit-code: 0 cat docs/conf.py # -*- coding: utf-8 -*- # flake8: noqa import os import sphinx_rtd_theme import sys from datetime import datetime # docs/ directory DOCS_DIR = os.path.dirname(__file__) sys.path.append(DOCS_DIR) from leapyear.version import LEAPYEAR_VERSION as release extensions = [ "sphinx.ext.autodoc", "sphinx.ext.intersphinx", "sphinx.ext.napoleon", "sphinx.ext.mathjax", "sphinx.ext.doctest", "sphinx_autodoc_typehints", "sphinx.ext.todo", ] templates_path = ["_templates"] master_doc = "index" project = "leapyear" now = datetime.now() copyright = "2016-{}, LeapYear Technologies. This information is confidential and proprietary and may not be reproduced in whole or in part without written authorization by a representative of LeapYear Technologies.".format( now.year ) version = ".".join(release.split(".")[:2]) exclude_patterns = ["build"] # -- Options for extensions --------------------------------------------------- autodoc_member_order = "bysource" todo_include_todos = bool( int(os.getenv("LY_INCLUDE_TODOS", False)) ) # Include TODO items when rendering # doctests in python modules need to be explicitly marked with `.. doctest::` doctest_test_doctest_blocks = "" napoleon_google_docstring = False napoleon_numpy_docstring = True intersphinx_mapping = {"https://docs.python.org/3/": None} # -- Options for HTML output -------------------------------------------------- html_theme = "sphinx_rtd_theme" html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] html_static_path = ["_static"] html_favicon = os.path.join("_static", "favicon.ico") html_show_sourcelink = False html_show_sphinx = False htmlhelp_basename = "leapyeardoc" html_context = { "display_github": False, # Add 'Edit on Github' link instead of 'View page source' "last_updated": now.strftime("%Y-%m-%d"), "commit": False, } def setup(app): app.add_stylesheet("css/custom.css") ########################################################################### # 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 = 'https://readthedocs.com/websupport' websupport2_static_url = 'https://media.readthedocs.com/' #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': "https://media.readthedocs.com/media/", 'STATIC_URL': "https://media.readthedocs.com/", 'PRODUCTION_DOMAIN': "readthedocs.com", 'versions': [ ("latest", "/en/latest/"), ("2.8.0", "/en/2.8.0/"), ("2.7.0", "/en/2.7.0/"), ("2.6.2", "/en/2.6.2/"), ("2.6.1", "/en/2.6.1/"), ("2.6.0", "/en/2.6.0/"), ("2.5.0", "/en/2.5.0/"), ("2.4.2", "/en/2.4.2/"), ("2.4.1", "/en/2.4.1/"), ("2.3.1", "/en/2.3.1/"), ("2.3.0", "/en/2.3.0/"), ("2.2.2", "/en/2.2.2/"), ("2.2.1", "/en/2.2.1/"), ("2.2.0", "/en/2.2.0/"), ("2.2.0-beta-3", "/en/2.2.0-beta-3/"), ("2.2.0-beta-2", "/en/2.2.0-beta-2/"), ("2.0.10", "/en/2.0.10/"), ("2.0.8", "/en/2.0.8/"), ("2.0.7", "/en/2.0.7/"), ], 'downloads': [ ("pdf", "//readthedocs.com/projects/leapyear-python-docs/downloads/pdf/latest/"), ("html", "//readthedocs.com/projects/leapyear-python-docs/downloads/htmlzip/latest/"), ], 'subprojects': [ ], 'slug': 'leapyear-python-docs', 'name': u'python-docs', 'rtd_language': u'en', 'programming_language': u'words', 'canonical_url': 'https://docs.leapyear.io/en/2.8.0/', 'analytics_code': 'None', 'single_version': False, 'conf_py_path': '/docs/', 'api_host': 'https://readthedocs.com', 'github_user': 'LeapYear', 'github_repo': 'python-docs', 'github_version': 'master', 'display_github': True, '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, 'user_analytics_code': '', 'global_analytics_code': 'UA-17997319-2', 'commit': '856466ce', } 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' [rtd-command-info] start-time: 2019-10-19T09:45:29.858102Z, end-time: 2019-10-19T09:45:31.515584Z, duration: 1, exit-code: 2 python sphinx-build -T -E -b readthedocs -d _build/doctrees-readthedocs -D language=en . _build/html Running Sphinx v1.8.5 loading translations [en]... done Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages/sphinx/registry.py", line 472, in load_extension mod = __import__(extname, None, None, ['setup']) ModuleNotFoundError: No module named 'sphinx_autodoc_typehints' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages/sphinx/cmd/build.py", line 303, in build_main args.tags, args.verbosity, args.jobs, args.keep_going) File "/home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages/sphinx/application.py", line 228, in __init__ self.setup_extension(extension) File "/home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages/sphinx/application.py", line 449, in setup_extension self.registry.load_extension(self, extname) File "/home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/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_autodoc_typehints (exception: No module named 'sphinx_autodoc_typehints') Extension error: Could not import extension sphinx_autodoc_typehints (exception: No module named 'sphinx_autodoc_typehints')