Ошибка сфинкса в make html - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь создать документацию Sphinx для пакета, но получаю ошибки и могу использовать некоторую помощь. Мой каталог проекта bb_lite, а коды находятся в папке backend.

bb_lite
    ├── 1.0\ docs
    ├── 2.0\ data 
    ├── README.md
    └── backend 

Вот так выглядит моя папка backend .

├── README.md
├── __init__.py
├── __pycache__
│   └── __init__.cpython-36.pyc
├── archive
│   ├── cont_pca_transform_w_original_func.py
│   └── model_tuner.py
├── automl_pipeline
│   ├── __init__.py
│   ├── flow.py
│   └── input_json.json
├── data_preparation
│   ├── __init__.py
│   ├── cat_multiclass_label_index_encoding.py
│   ├── cross_validator.py
│   ├── data_samplers.py
│   └── train_test_validator

I cd в папку bb_lite, создайте папку docs и cd до docs. Оттуда я бегу sphinx-quickstart. Когда он просит разделить каталоги источника и сборки, я набираю y и нажимаю ввод. Когда он запрашивает расширение autodoc, я ввожу y и завершаю другие. Мой docs выглядит как -

.
├── Makefile
├── build
├── make.bat
└── source
    ├── _static
    ├── _templates
    ├── conf.py
    └── index.rst

После этого я открываю файл conf.py внутри и раскомментирую первые три строки

import os
import sys
sys.path.insert(0, os.path.abspath('backend'))

С папкой docs в качестве рабочего каталога я запускаю следующую

sphinx-apidoc -f -o source/ ../backend/

, что дает мне

Creating file source/backend.rst.
Creating file source/backend.automl_pipeline.rst.
Creating file source/backend.data_preparation.rst.
Creating file source/backend.explain.rst.
Creating file source/backend.explain.k_limes.rst.
Creating file source/backend.explain.surrogate_models.rst.
Creating file source/backend.feature_extraction.rst.
Creating file source/backend.model_tuner.rst.
Creating file source/backend.parameter_tuning.rst.
Creating file source/backend.profiling.rst.
Creating file source/backend.tests.rst.
Creating file source/backend.utilities.rst.
Creating file source/modules.rst.

Наконец я запускаю make html (из каталога docs), что оставляет меня со следующей ошибкой: Запуск Sphinx v1.7.4

making output directory...
loading pickled environment... not yet created
loading intersphinx inventory from https://docs.python.org/objects.inv...
intersphinx inventory has moved: https://docs.python.org/objects.inv -> https://docs.python.org/3/objects.inv
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 14 source files that are out of date
updating environment: 14 added, 0 changed, 0 removed
reading sources... [100%] modules                                                                                                                                                                           
WARNING: autodoc: failed to import module 'backend.utilities'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.automl_pipeline.flow'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.automl_pipeline'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.data_preparation.cat_multiclass_label_index_encoding'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.data_preparation.cross_validator'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.data_preparation.data_samplers'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.data_preparation'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.explain'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.explain.k_limes'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.explain.surrogate_models'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.feature_extraction.cat_frequency_transformer'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.feature_extraction.cont_bulk_interactions'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.feature_extraction.cont_pca_transform'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.feature_extraction.naming_constants'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.feature_extraction'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.model_tuner.cross_validator'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.model_tuner.hyperparam_bounds'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.model_tuner.model_specs'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.model_tuner.model_tuner_class'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.model_tuner.model_tuner_pipeline'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.model_tuner.train_test_validator'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.model_tuner'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.parameter_tuning'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.profiling'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.tests'; the following exception was raised:
No module named 'backend'
WARNING: autodoc: failed to import module 'backend.utilities'; the following exception was raised:
No module named 'backend'
looking for now-outdated files... none found
pickling environment... done
checking consistency... /Users/shubhamgandhi/Desktop/bb_lite/docs/source/modules.rst: WARNING: document isn't included in any toctree
done
preparing documents... done
writing output... [100%] modules                                                                                                                                                                            
generating indices... genindex
writing additional pages... search
copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 28 warnings.

The HTML pages are in build/html.

Я не знаю, где я иду не так. Я следил за несколькими документами и блогами, но никуда не деться. Когда я открываю index.html внутри docs/build/html, у него нет документации.

Есть идеи, где я иду не так?

1 Ответ

0 голосов
/ 09 мая 2018

Каталог над каталогом backend должен быть добавлен в sys.path.

Если bb_lite является родительским каталогом для backend и docs, в docs/conf.py необходимо выполнить следующее:

sys.path.insert(0, os.path.abspath('..'))
...