在ReadTheDocs上显示但不显示功能的模块,Sphinx中没有明显错误

2024-05-13 20:54:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用ReadTheDocs(RTD)记录一段代码。这是它构建的GitHub回购协议,下面是网站的当前状态:

回购:https://github.com/GluonicPenguin/AutoDQM

RTD:https://autodqm.readthedocs.io/en/latest/index.html

我在本地运行了Sphinx构建并检查了RTD上的构建,没有收到任何警告或错误,但是^{}模块没有在RTD上正确显示函数列表,即函数列表没有出现。我对^{}也有一个问题,我发现问题是我在顶部有一个import ROOT行(与其他导入行),当通过ROOT()函数调用导入时,出于某种原因,这会解决问题,autodqm/compare_hists.py模块会正确地显示在网站上

我原以为类似的修复程序可以用于autodqm/dqm.py,但在本例中,我必须在函数顶部附近定义

def lxml():
    import lxml.html
    return lxml.html

def FuturesSession():
    from requests_futures.sessions import FuturesSession
    return FuturesSession

我必须删除类DQMSession。我最多可以认为RTD不喜欢处理形式为import <package>.<subpackage>的导入函数

我也为所有的提交和含糊不清/糟糕的提交消息提前道歉——我做得很彻底,并且在本地开发,而不是在GitHub上开发,所以我不得不继续推动测试

我目前的设置不起作用有什么原因吗?我还遗漏了其他问题吗?我以前从未使用过Sphinx/RTD,所以在修复此类问题时,我是个新手。我不想用“隔离”导入函数支持上面的快速修复的原因是,该代码需要高效,因为它被设计为扫描大量直方图来执行统计比较,在这种规模上,效率是必不可少的


Tags: 模块函数代码httpsimportgithub列表网站
1条回答
网友
1楼 · 发布于 2024-05-13 20:54:27

根据上面Steve的回答,我修复了AutoDQM中的问题,即无法导入模块,因此现在所有功能都正确显示在网站上。修复方法是:

dqm.py—请求setup.py中指定的futures和lxml now需求,这些需求是通过安装的pip

安装要求=['lxml==4.5.2','requests-futures==1.0.0']

比较\u hists.py-import ROOT fixed使用扩展autodoc\u mock\u imports from autodoc,因此docs/conf.py autodoc\u mock\u imports=[“ROOT”]中有一行。我们需要这样的需求,因为它是一个带有C依赖项的包,所以不能像其他包一样安装pip

谢谢你的帮助

相关问题 更多 >