- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何配置 sphinx 以记录供 MicroPython 解释器使用的模块?
我面临的根本问题是 sphinx 从导入的模块中获取它记录的信息。因此,用于记录模块的 python 解释器必须可导入到那个解释器中。
第一个问题
我用的是pyboard,很自然
import pyb
找不到模块 pyb
...所以我添加到 conf.py
from unittest.mock import MagicMock
sys.modules['pyb'] = MagicMock() # and many more
第二个问题
我的一个 MicroPython 库叫做 cmd
Exception occurred:
File "/usr/lib/python3.5/pdb.py", line 135, in <module>
class Pdb(bdb.Bdb, cmd.Cmd):
AttributeError: module 'cmd' has no attribute 'Cmd'
所以这是有道理的...我将模块的名称更改为 ucmd
,这似乎有效...但它非常不可靠。
问题
是否有正确的方法来做到这一点?要 sphinx 记录一个不是为运行 sphinx-build
命令的平台设计的模块?
用更实际的措辞:如果我想记录一个名为 collections
、subprocess
或 io
的 MicroPython 模块(所有这些都由sphinx
库),是否可以使用 sphinx 来做到这一点?
或者我是否只需满足于分别将它们命名为 ucollections
、usubprocess
和 uio
?
最佳答案
以下不是 sphinx 解决方案,但在大多数现代编辑器中提供了部分自动完成功能。
要为(自定义)MicroPython 模块生成 stub ,您可以使用 MicroPython-Stubber
有关自定义模块的配置,请参阅 section 4.4
或者在各种测试的相同重现中,我导入了 MicroPython- CPython stubs (源自 micropython-lib 和 pycopy-lib)通过将其插入 CPython 的 sys.path 中。这非常适合我的测试目的,允许我运行和调试(硬件不可知)MicroPython 代码,而无需对 CPython 进行更改或更改很少。也许它也适合您的文档需求。
关于python - 如何为 micropython 构建 sphinx 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55727806/
我是一名优秀的程序员,十分优秀!