回购链接:https://github.com/Eric-Cortez/aepsych-fork
问题:当我运行make html
时,生成sphinx文档时,我遇到了一个问题,大多数模块都生成了,除了3个是epsych。数据库,aepsych。和aepsych.server.
文件结构:
(root)
aepsych-fork/
|__ aepsych/ <--- docs in this dir
|__ sphinx/
| |__ build/
| |__ Makefile
| |__ make.bat
| |__ source/
| |___conf.py
| |___index.rst
| **other files**
conf.py(路径):
import os
import sys
# from pkg_resources import get_distribution
current_dir = os.path.dirname(__file__)
target_dir = os.path.abspath(os.path.join(current_dir,
"../.."))
sys.path.insert(0, target_dir)
What I tried:
我以前已经能够通过运行make html
生成此文档。例子:https://aepsych.org/api/database.html但是,我今天试图重建sphinx文档,遇到了一个错误
WARNING: autodoc: failed to import module 'acquisition.bvn'
from module 'aepsych'; the following exception was raised:
No module named 'gpytorch'
gpytorch是在aepsych模块中使用的依赖项,但我不想为gpytorch模块生成文档。我做了一些研究,添加了
autodoc_mock_imports = ["botorch", 'gpytorch', "torch"]
到aepsych-fork/sphinx/conf.py,它解决了丢失模块错误并生成了三个丢失模块的大部分文档接受。我很难找到这些文件的文档没有被生成的原因,因为当我运行make html
时,我在控制台中没有得到任何错误。
下面是控制台输出:
Running Sphinx v5.0.2
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 16 source files that are out of date
updating environment: [new config] 16 added, 0 changed, 0 removed
我注意到阅读源没有达到100%。我在阅读资料时卡住了……[25%]基准
有没有人对如何解决这个问题有什么建议?我确实注意到__init__.py
文件对于数据库/模块是空的。
import sys
from ..config import Config
from .db import Database
__all__ = [
"Database"
]
Config.register_module(sys.modules[__name__])
我将上面的代码添加到databases/__init__.py
,但文档仍然没有生成。
我重新创建了一个包含所有依赖项的conda环境,但仍然得到一个错误。警告:autodoc:导入模块获取失败。Bvn '源自模块'aepsych';没有名为'botorch.sampling. '的模块。所以我在sphinx/conf.py中添加了autodoc_mock_imports = ["botorch"],这就解决了这个问题。我可能遗漏了一些依赖项。