Tyl*_*ler 4 python git documentation mocking documentation-generation
我的项目不是使用 autodoc 构建的。我遇到了有关我的项目未在 autodoc 中构建的常见问题。但是,某些依赖项包含不会在构建文档服务器上执行的 C 代码。因此,我阅读了此博客中的方法,解释我应该使用模拟。这与 stackoverflow 问题“how-to-mock-so-that-from-x-import-works”相关。
在阅读文档的管理页面的高级设置部分中,有一个使用 virtualenv 的选项,我检查了该选项,然后请求了我的项目根目录到requirements.txt的路径。
项目目录结构如下:
GatherNews/
requirements.txt
Run Code Online (Sandbox Code Playgroud)
当我用作GatherNews/requirements.txt路径时。我收到错误:
/var/build/user_builds/gathernews/checkouts/latest/docs/api/grss.rst:10:警告:autodoc:无法从模块 u'gathernews.gRSS' 导入类 u'CaptureFeeds';提出了以下例外情况:
回溯(最近一次调用最后一次):
文件“/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)
文件“/home/docs/checkouts/readthedocs.org/user_builds/gathernews/envs/latest/local/lib/python2.7/site-packages/gathernews/ init .py”,第 1 行,导入 gRSS
文件“/home/docs/checkouts/readthedocs.org/user_builds/gathernews/envs/latest/local/lib/python2.7/site-packages/gathernews/gRSS.py”,第 38 行,导入 feedparser
ImportError:没有名为 feedparser /var/build/user_builds/gathernews/checkouts/latest/docs/_themes/README.rst:: 警告:文档不包含在任何目录树中
我的问题是如何将这一切联系在一起?具体来说,我是否使用正确的路径来requirements.txt阅读文档以成功构建?如果我的路径requirements.txt正确,那么如何包含模拟包以成功生成自动文档?
我创建了一个https://github.com/Bonza-Times/GatherNews的分支,并为其构建了一组 ReadTheDocs 版本。唯一的问题似乎是您使用了错误的路径requirements.txt。它说
从项目根目录开始的路径。
所以这不包括GatherNews. 只需用作requirements.txt路径,因为该文件位于 git 存储库的顶层。
既然您已经Use virtualenv检查过了,ReadTheDocs 应该会自动确保 virtualenv 的站点包可用于sys.path脚本sphinx-build。
我认为不需要模拟模块,因为feedparser对 C 库没有任何硬依赖。它可以针对 libxml2 构建,但并非必须如此。
通过修复路径,requirements.txt我能够成功构建。
这些是我使用的“高级设置”,其余设置为默认值:
