linux - 为 Linux 上加载 pywin32 的包创建 Sphinx autodoc

标签 linux mocking python-sphinx pywin32 autodoc

我写了一个package使用 pywin32 将 GitLab 问题与 Microsoft Projects 同步。

我想使用readthedocs托管文档。

问题是我无法安装pywin32,因为那里使用的是Linux环境。

如果构建机器上没有可用的包,有关于如何使用 autodoc 构建文档的建议吗?

最佳答案

解决这个问题最简单的方法是设置 autodoc_mock_imports = ["pywin32"] 。这只需要设置根包,您的代码对库的任何后续使用(调用或导入子模块、类等)都将被 Sphinx 模拟。

请注意,除了允许声明和导入其组件之外,模拟库不会提供任何功能。因此,您的代码结构应该不具有任何依赖于 pywin32 可调用对象的模块级执行,因为这些可调用对象的返回也将被模拟。

我还发现了this guide详细阐述了 ReadTheDocs 的构建,并提出了相同的建议。与这个问题并行的是我发现了扩展sphinxcontrib-mockautodoc这解决了当给定项目中同时有不同的 Python 版本时进行构建的问题。

关于linux - 为 Linux 上加载 pywin32 的包创建 Sphinx autodoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64838725/

相关文章:

python-sphinx - 如何在 reST/Sphinx 中记录字符串中的单个空格字符?

MySQL (MariaDB - 10.0.16-MariaDB-1 (Debian) 奇怪的性能问题

unit-testing - 使用 Pester 模拟 [System.IO.Path]::IsPathRooted()?

linux - qmake 在 linux 上使用不正确的 Qt 安装路径

c# - 使用 FakeItEasy,是否可以创建一个采用泛型类型参数的虚拟对象

unit-testing - 如何在golang中模拟方法以通过测试

documentation - 使用 Sphinx 显示 html 文档是否需要 doctrees 文件夹?

python - 从类的交叉引用中省略模块名称

java - 如何调试 Java 进程上的高 CPU 使用率,而不是由 Java 线程引起的

linux - sh Linux 中的预期回显截断