Как настроить 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
, и это, кажется, работает ... но это suuuuuper dodgy.
Вопрос
Есть ли правильный способ сделать это?
Чтобы сфинксировать документ, модуль не предназначен для платформы, выполняющей команду sphinx-build
?
Более условно: если бы я хотел документировать модуль MicroPython с именем collections
, subprocess
или io
(все из которых используются библиотекой sphinx
), можно ли использовать sphinx для выполнения так?
Или мне просто придется довольствоваться именами их ucollections
, usubprocess
и uio
соответственно?