gpt4 book ai didi

python - 如何为 micropython 构建 sphinx 文档

转载 作者:行者123 更新时间:2023-12-05 07:23:52 26 4
gpt4 key购买 nike

如何配置 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 命令的平台设计的模块?

用更实际的措辞:如果我想记录一个名为 collectionssubprocessio 的 MicroPython 模块(所有这些都由sphinx 库),是否可以使用 sphinx 来做到这一点?

或者我是否只需满足于分别将它们命名为 ucollectionsusubprocessuio

最佳答案

以下不是 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com