首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略autodoc中的某些模块

忽略autodoc中的某些模块
EN

Stack Overflow用户
提问于 2015-12-22 05:50:03
回答 2查看 2.1K关注 0票数 12

我试图只对选定的模块使用autodoc。我创建了一个文件,其中包括:

代码语言:javascript
复制
.. automodule:: some.specific.module
   :members:

它会被正确地生成。不幸的是,autodoc也一直试图解析其他文件(并且由于导入错误而失败)。我知道我可以模拟一些模块,但我想要一个更好的解决方案-停止斯芬克斯看他们的开始。

如何确保只加载请求的模块,而不是(例如) test.other.module

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-05 05:10:39

原来这是个愚蠢的错误。由于一些工具为api文档源生成了一个支架,所以这些文件被放置在周围,并触发了糟糕的导入。

这是如何发现的:

  • sphinx有多个级别的调试日志记录,通常不会被激活。
  • 您可以看到哪些行通过调试输出触发导入,如
代码语言:javascript
复制
 [autodoc] /path/to/the/doc.rst:158: input:
 .. automodule:: app.module.name
    :members:
票数 2
EN

Stack Overflow用户

发布于 2015-12-26 16:40:54

我认为发生这种情况的可能原因有三:

  • 狮身人面像的高速缓存带来了麻烦,make clean可以解决这个问题
  • 您的模块位于包中,包的__init__.py文件正在导入这些“其他文件”(或者更准确地说,是试图导入它们);
  • 这些“其他文件”是导入的,因为您已经设置了PYTHONSTARTUP
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34409256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档