Read the Docs build information Build id: 248555 Project: leapyear-python-docs Version: latest Commit: dfe3175cb3ce7aa6c1e10ecc6e45679315ae42f3 Date: 2019-10-09T08:50:32.575029Z State: finished Success: False [rtd-command-info] start-time: 2019-10-09T08:50:39.677462Z, end-time: 2019-10-09T08:50:44.605990Z, duration: 4, 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-09T08:50:44.868079Z, end-time: 2019-10-09T08:50:45.152341Z, 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 dfe3175 master [rtd-command-info] start-time: 2019-10-09T08:50:45.276349Z, end-time: 2019-10-09T08:50:45.285824Z, duration: 0, exit-code: 0 git clean -d -f -f [rtd-command-info] start-time: 2019-10-09T08:50:46.460869Z, end-time: 2019-10-09T08:50:51.507354Z, duration: 5, exit-code: 0 python3.6 -mvirtualenv --no-site-packages --no-download Using base prefix '/home/docs/.pyenv/versions/3.6.8' 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-09T08:50:51.587547Z, end-time: 2019-10-09T08:50:54.212984Z, duration: 2, 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/30/db/9e38760b32e3e7f40cce46dd5fb107b8c73840df38f0046d8e6514e675a1/pip-19.2.3-py2.py3-none-any.whl (1.4MB) Installing collected packages: pip Found existing installation: pip 19.1.1 Uninstalling pip-19.1.1: Successfully uninstalled pip-19.1.1 Successfully installed pip-19.2.3 [rtd-command-info] start-time: 2019-10-09T08:50:54.296727Z, end-time: 2019-10-09T08:51:04.933358Z, duration: 10, 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) Requirement already up-to-date: setuptools==41.0.1 in /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/envs/latest/lib/python3.6/site-packages (41.0.1) 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 (from commonmark==0.8.1) Downloading https://files.pythonhosted.org/packages/90/52/e20466b85000a181e1e144fd8305caf2cf475e2f9674e797b222f8105f5f/future-0.17.1.tar.gz (829kB) Collecting sphinxcontrib-websupport (from sphinx<2) Downloading https://files.pythonhosted.org/packages/2a/59/d64bda9b7480a84a3569be4dde267c0f6675b255ba63b4c8e84469940457/sphinxcontrib_websupport-1.1.2-py2.py3-none-any.whl Collecting Jinja2>=2.3 (from sphinx<2) Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl (125kB) Collecting requests>=2.0.0 (from sphinx<2) Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB) Collecting packaging (from sphinx<2) Downloading https://files.pythonhosted.org/packages/cf/94/9672c2d4b126e74c4496c6b3c58a8b51d6419267be9e70660ba23374c875/packaging-19.2-py2.py3-none-any.whl Collecting imagesize (from sphinx<2) Downloading https://files.pythonhosted.org/packages/fc/b6/aef66b4c52a6ad6ac18cf6ebc5731ed06d8c9ae4d3b2d9951f261150be67/imagesize-1.1.0-py2.py3-none-any.whl Collecting babel!=2.0,>=1.3 (from sphinx<2) Downloading https://files.pythonhosted.org/packages/2c/60/f2af68eb046c5de5b1fe6dd4743bf42c074f7141fe7b2737d3061533b093/Babel-2.7.0-py2.py3-none-any.whl (8.4MB) Collecting six>=1.5 (from sphinx<2) Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl Collecting snowballstemmer>=1.1 (from sphinx<2) Downloading https://files.pythonhosted.org/packages/7d/4b/cdf1113a0e88b641893b814e9c36f69a6fda28cd88b62c7f0d858cde3166/snowballstemmer-2.0.0-py2.py3-none-any.whl (97kB) Collecting MarkupSafe>=0.23 (from Jinja2>=2.3->sphinx<2) Downloading https://files.pythonhosted.org/packages/b2/5f/23e0023be6bb885d00ffbefad2942bc51a620328ee910f64abe5a8d18dd1/MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests>=2.0.0->sphinx<2) 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 (from requests>=2.0.0->sphinx<2) Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB) Collecting idna<2.9,>=2.5 (from requests>=2.0.0->sphinx<2) Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB) Collecting certifi>=2017.4.17 (from requests>=2.0.0->sphinx<2) Downloading https://files.pythonhosted.org/packages/18/b0/8146a4f8dd402f60744fa380bc73ca47303cccf8b9190fd16a827281eac2/certifi-2019.9.11-py2.py3-none-any.whl (154kB) Collecting pyparsing>=2.0.2 (from packaging->sphinx<2) Downloading https://files.pythonhosted.org/packages/11/fa/0160cd525c62d7abd076a070ff02b2b94de589f1a9789774f17d7c54058e/pyparsing-2.4.2-py2.py3-none-any.whl (65kB) Collecting pytz>=2015.7 (from babel!=2.0,>=1.3->sphinx<2) Downloading https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl (509kB) 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=e96382695bc893c0ac43c75229ec0af9355870708d9a354e7351354c531c8ccf 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.17.1-cp36-none-any.whl size=488730 sha256=e2f2d77c787b7b58ea799c9278a4b2e147efff15abc10728408025176387ece0 Stored in directory: /home/docs/checkouts/readthedocs.org/user_builds/leapyear-python-docs/.cache/pip/wheels/0c/61/d2/d6b7317325828fbb39ee6ad559dbe4664d0896da4721bf379e Successfully built mock future Installing collected packages: Pygments, docutils, mock, pillow, alabaster, future, commonmark, sphinxcontrib-websupport, MarkupSafe, Jinja2, urllib3, chardet, idna, certifi, requests, six, pyparsing, packaging, imagesize, pytz, babel, snowballstemmer, sphinx, recommonmark, sphinx-rtd-theme, readthedocs-sphinx-ext 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.17.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 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-09T08:51:05.059304Z, end-time: 2019-10-09T08:51:17.189014Z, duration: 12, 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" (from leapyear==0.0.0) Downloading https://files.pythonhosted.org/packages/57/a7/e3e6bd9d595125e1abbe162e323fd2d06f6f6683185294b79cd2cdb190d5/numpy-1.13.3-cp36-cp36m-manylinux1_x86_64.whl (17.0MB) Collecting pandas==0.24.2; python_version >= "3.0" (from leapyear==0.0.0) Downloading https://files.pythonhosted.org/packages/19/74/e50234bc82c553fecdbd566d8650801e3fe2d6d8c8d940638e3d8a7c5522/pandas-0.24.2-cp36-cp36m-manylinux1_x86_64.whl (10.1MB) Collecting python-dateutil==2.6.1; python_version >= "3.0" (from leapyear==0.0.0) Downloading https://files.pythonhosted.org/packages/4b/0d/7ed381ab4fe80b8ebf34411d14f253e1cf3e56e2820ffa1d8844b23859a2/python_dateutil-2.6.1-py2.py3-none-any.whl (194kB) Collecting typing==3.7.4; python_version >= "3.0" (from leapyear==0.0.0) Downloading https://files.pythonhosted.org/packages/28/b8/a1d6b7cf322f91305bcb5e7d8f6c3028954d1e3e716cddc1cdce2ac63247/typing-3.7.4-py3-none-any.whl 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) 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) 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=273793 sha256=ffc916fdb86644a82644fa08048734eb9a67f64483e7438860325ca314e4e8ac Stored in directory: /tmp/pip-ephem-wheel-cache-mw8rgp9s/wheels/f7/07/82/60b779e5802f0e564beb2f30873542d2d8030b15da536750bc Successfully built leapyear Installing collected packages: numpy, python-dateutil, pandas, typing, 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-09T08:51:18.593497Z, end-time: 2019-10-09T08:51:18.903932Z, 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.7.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': 'dfe3175c', } 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-09T08:51:18.994604Z, end-time: 2019-10-09T08:51:20.528324Z, 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')