Sphinx:如何排除自动模块中的导入?

2024-01-02

我有一个用 Python 编写的 Raspberry Pi 项目,它使用 RPi.GPIO 模块。代码上的所有工作都是在 Windows 机器上完成的,其中 RPi.GPIO 不会安装,每次我尝试运行 autodoc 时,它都会崩溃,说它无法导入 RPi.GPIO。

D:\cube\docs\ledcube.rst:4: WARNING: autodoc: failed to import module u'ledcube'
; the following exception was raised:
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\sphinx-1.2b1-py2.7.egg\sphinx\ext\autodoc.
py", line 326, in import_object
    __import__(self.modname)
  File "D:\cube\ledcube.py", line 2, in <module>
    import RPi.GPIO as GPIO
ImportError: No module named RPi.GPIO

有什么办法解决这个问题吗?


无法告诉 Sphinx 排除某些导入。使用 autodoc 时,所有记录的模块都必须可以完全导入。

您也许可以通过执行一些操作来解决该问题mocking https://pypi.python.org/pypi/mock/1.0.1。这是一篇文章,描述了与您的问题非常相似的问题的解决方案:http://blog.rtwilson.com/how-to-make-your-sphinx-documentation-compile-with-readthedocs-when-youre-using-numpy-and-scipy/ http://blog.rtwilson.com/how-to-make-your-sphinx-documentation-compile-with-readthedocs-when-youre-using-numpy-and-scipy/。这是一个小代码示例(旨在添加到conf.py):

import mock

MOCK_MODULES = ['numpy', 'matplotlib', 'matplotlib.pyplot']
for mod_name in MOCK_MODULES:
    sys.modules[mod_name] = mock.Mock()

您可能需要安装 python-mock 才能使上述功能正常工作:sudo apt-get install python-mock

Update

从 Sphinx 1.3 开始,设置模拟变得更加容易。只需将要模拟的模块添加到autodoc_mock_imports http://www.sphinx-doc.org/en/master/ext/autodoc.html#confval-autodoc_mock_imports配置值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sphinx:如何排除自动模块中的导入? 的相关文章

随机推荐

  • 如何在 jUnit 测试用例中闯入调试器?

    我正在一个大型 java 项目中调试单元测试 我需要运行 ant test 来启动测试套件 所以我很难从 IDE 启动它 如果它附加到任何调试器 是否可以调用 C 中的 Debugger Break 之类的函数来中断调试器 如果我正确理解你
  • 子字符串并返回特定字符后的值

    测试 BSMain 文本 起始页 我想对上面的值进行子串并只返回后面的值 在 VB NET 中 我怎样才能做到这一点 假设没有错误检查 Dim phrase As String Testing BSMain Text Start Page
  • c fscanf 错误检查

    我正在使用 fscanf 从 C 中的文件中读取 我只是想知道我是否正确检查了所有错误条件 这是最可靠的方法 而且我没有遗漏任何内容 FILE fp char filename untitled int count char item1 1
  • Rust 中单元类型的用途是什么?

    铁锈具有单位类型 具有单个零大小值的类型 该单位类型的值也可以使用指定 单位类型及其值的目的是什么 这是一种避免使用的机制吗null or nil 像其他语言一样 是类型的值 它的目的就是无用 Rust 中的一切都是一个表达式 返回 not
  • Zip 文件上传到服务器时损坏

    我的 java 程序将 zip 文件从我的系统上传到 FTP 服务器 uploadfile 是一个包含上传代码的函数 uploadfile 192 168 0 210 muruganp vm4snk home Admin GATE521 L
  • 全日历结束日期错误一天

    我正在制作一个完整的日历支持的汽车预订功能 这是咖啡脚本文件 updateEvent event delta revertFunc gt ajax type PUT dataType json success data gt alert S
  • 声谱图

    我制作了一个应用程序 可以将 FFT 实时绘制到屏幕上 从麦克风 x 轴上的时间 y 轴上的频率和像素的颜色代表幅度 几乎是一个普通的 FFT 频谱图 我的问题是 即使我可以从音乐中看到模式 但也有很多噪音 谷歌搜索我看到人们对振幅应用对数
  • FacesConverter forClass 不适用于复合组件

    我有一个简单的复合组件 它必须呈现输入文本 当输入值并按下命令按钮时 会引发以下异常 java lang IllegalArgumentException Cannot convert 1 of type class java lang S
  • 谷歌翻译:超出配额

    我正在尝试使用 Google Translate REST API 并同时请求以下网址 我收到以下回复 响应 responseData null responseDetails 超出配额 请参见http code google com ap
  • 在 R 数据框中的所有列中搜索值

    这是一个示例数据框 df data frame company c a b c d bond c 0 2 1 0 3 0 equity c 0 7 0 0 5 1 cash c 0 1 0 0 2 0 df company bond equ
  • javascript 中的 obj.length === +obj.length

    在 underscore js 源码中我在很多地方都遇到过 if obj length obj length 有人可以解释一下 他们为什么使用它 这是另一种写作方式if typeof obj length number 他们为什么这样做 谁
  • iPad 上的 Skrollr 截止

    我正在使用 Skrollr 插件 它在桌面上运行良好 但在 iPad 上 我的文档的高度被截断了 我尝试删除所有 skrollr 数据属性 但问题仍然存在 我注意到只需激活插件就会遇到此问题 我尝试启用 禁用forceHeight选项 但问
  • 未找到 Ansible 内部脚本命令

    Ansible name Node package manager npm name pm2 global yes notify restart nginx name start the app script files common pm
  • 通过反射获取命名空间中的所有类型

    C 中如何通过反射获取命名空间中的所有类 以下代码打印指定的类的名称namespace在当前程序集中定义 正如其他人指出的那样 命名空间可以分散在不同的模块之间 因此您需要首先获取程序集列表 string nspace var q from
  • 异步/等待 JQuery 文档就绪

    它适用于document addEventListener DOMContentLoaded async gt 但我很好奇让它与 JQuery 一起工作 而且 我想要使用异步 等待 不承诺因为稍后我将需要承诺回调之外的变量 let prod
  • PHP,JavaScript - 通过重定向标头来检测屏幕宽度是否正确

    我使用以下 JavaScript 来检测屏幕宽度 并通过条件语句将其用作模板文件中的常量 以显示 不显示网站的部分 虽然它与我的问题没有太大关系 但以防万一 是的 我正在使用 WordPress 我也已经在使用 mobileDetect P
  • Visual Studio 2010 错误:类型 Universe 无法解析程序集

    我已将最初在 Visual Studio 2008 中创建的 WPF 项目加载到 Visual Studio 2010 中 转换过程进展顺利 但在某些 XAML 文件上 VS2010 设计器会抛出几个与项目引用相关的错误 包括以下错误 Sy
  • 如何克服winform的Control.DrawToBitmap()方法大尺寸限制

    我正在使用 C Winforms 和 MS Visual Studio 2010 开发一个桌面应用程序 在该应用程序中 我必须截取表单面板的屏幕截图并将图像保存在光盘中 面板尺寸可以很大 我使用了 Panel DrawToBitmap 方法
  • 在 FluentValidation 中访问 WebApi 2 的路线数据

    我有一个基本的 C Web Api 2 控制器 它有一个 POST 方法来创建实体 public HttpResponseMessage Post UserModel userModel 还有一个更新模型的 PUT 方法 public Ht
  • Sphinx:如何排除自动模块中的导入?

    我有一个用 Python 编写的 Raspberry Pi 项目 它使用 RPi GPIO 模块 代码上的所有工作都是在 Windows 机器上完成的 其中 RPi GPIO 不会安装 每次我尝试运行 autodoc 时 它都会崩溃 说它无