首页 文章

如何设置阅读文档以便Sphinx autodoc选项有效?

提问于
浏览
4

我的项目没有't building with autodoc. I' m进入this frequently asked question about my project not building in autodoc . 但是,一些依赖项包括不能在Build the Docs服务器上执行的c代码 . 所以我在这个blog explaining that I should use mock中阅读了这个方法 . 这与stackoverflow问题'how-to-mock-so-that-from-x-import-works'有关 .

在阅读文档的管理页面的高级设置部分,有一个选项可以使用virtualenv,我检查过,然后请求我的项目根目录到requirements.txt的路径 .

项目目录的结构如下:

GatherNews/
    requirements.txt

当我使用“GatherNews / requirements.txt”作为路径时 . 我收到错误:

/var/build/user_builds/gathernews/checkouts/latest/docs/api/grss.rst:10:警告:autodoc:无法从模块u'gathernews.gRSS'导入类u'CaptureFeeds';引发了以下异常:

Traceback(最近一次调用最后一次):

文件"/home/docs/checkouts/readthedocs.org/user_builds/gathernews/envs/latest/local/lib/python2.7/site-packages/sphinx/ext/autodoc.py",第335行,在import_object中 import (self.modname)

导入gRSS中的文件“/home/docs/checkouts/readthedocs.org/user_builds/gathernews/envs/latest/local/lib/python2.7/site-packages/gathernews/ init .py”,第1行

导入feedparser中的文件“/home/docs/checkouts/readthedocs.org/user_builds/gathernews/envs/latest/local/lib/python2.7/site-packages/gathernews/gRSS.py”,第38行

ImportError:没有名为feedparser的模块/var/build/user_builds/gathernews/checkouts/latest/docs/_themes/README.rst ::警告:文档不包含在任何toctree中

我的问题是如何将这一切联系在一起?具体来说,我是否使用了我的requirements.txt的正确路径来阅读文档以成功构建?如果我的requirements.txt的路径是正确的,那么如何包含模拟包以成功生成autodocs?

1 回答

  • 4

    我为它创建了一个https://github.com/Bonza-Times/GatherNews的分支和一套ReadTheDocs构建 . 唯一的问题似乎是你使用了错误的路径 requirements.txt . 它说

    来自项目根目录的路径 .

    所以不包括 GatherNews . 只需使用 requirements.txt 作为路径,因为该文件位于git存储库的顶层 .

    由于您已经检查了 Use virtualenv ,ReadTheDocs应该自动确保virtualenv的site-packages在 sys.path 中可用于 sphinx-build 脚本 .

    我认为不需要模拟模块,因为 feedparser 对C库没有任何硬依赖性 . 它可以针对libxml2构建,但它不必 .

    通过修复 requirements.txt 的路径,我能够成功构建 .

    这些是我使用的“高级设置”,其余设置为默认值:

    Advanced settings

相关问题