Как создавать документы sphinx для микропифона - PullRequest
1 голос
/ 17 апреля 2019

Как настроить 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 соответственно?

...