Инструмент Python, который пишет awscli-bastion, имеет следующую структуру каталогов, созданную cookiecutter.
.
├── awscli_bastion
│ ├── __init__.py
│ ├── cache.py
│ ├── cli.py
│ ├── credentials.py
│ ├── minimal.py
│ └── sts.py
├── docs
│ ├── Makefile
│ ├── _build
│ ├── ...
│ ├── conf.py
│ ├── ...
├── setup.py
├── .readthedocs.yml
│ ...
где setup.py содержит следующее:
requirements = [ 'Click>=6.0', 'boto3>=1.5.0', 'awscli>=1.13.0', 'humanize>=0.5.1' ]
где conf.py содержит следующее:
import os
import sys
sys.path.insert(0, os.path.abspath('..'))
import awscli_bastion
и .readthedocs.yml содержит:
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
# Build documentation with MkDocs
#mkdocs:
# configuration: mkdocs.yml
# Optionally build your docs in additional formats such as PDF and ePub
formats: all
# Optionally set the version of Python and requirements required to build your docs
python:
version: 3.7
Когда sphinx собирается локально, все функции модуля автоматически документируются.
Когда я строю на readthedoc.io, он может успешно импортировать все модули пакета awscli_bastion, но не может автоматически документировать функции модуля из-за сбоя при импорте.
WARNING: autodoc: failed to import module 'cache' from module 'awscli_bastion'; the following exception was raised:
No module named 'dateutil'
WARNING: autodoc: failed to import module 'cli' from module 'awscli_bastion'; the following exception was raised:
No module named 'botocore'
WARNING: autodoc: failed to import module 'credentials' from module 'awscli_bastion'; the following exception was raised:
No module named 'botocore'
WARNING: autodoc: failed to import module 'minimal' from module 'awscli_bastion'; the following exception was raised:
No module named 'boto3'
WARNING: autodoc: failed to import module 'sts' from module 'awscli_bastion'; the following exception was raised:
No module named 'botocore'
https://readthedocs.org/api/v2/build/9667746.txt
это то, что отображается на https://awscli-bastion.readthedocs.io/en/latest/awscli_bastion.html
Почему виртуальная среда readthedoc.io не устанавливает зависимости, определенные в setup.py?