我正在从事一个涉及 Raspberry Pi 和 PiFace 接口模块的项目。该项目是用 Python 开发的,我在尝试使用 Sphinx 自动记录一些模块时遇到了问题。然而,我们正在使用该pifacedigitalio
库,即使我已经在开发机器上安装了该库,Sphinx 拒绝记录该模块并抱怨由于不存在硬件而引发异常。硬件不存在,因为这是开发机器。为了测试软件,我们只使用条件if hwpresent then skip
,但我实际上想通过 Sphinx 记录这些部分。做的时候产生的错误make html
是:
/home/user/current/working/docs/src.rst:10: WARNING: autodoc: failed to import module u'src.billete'; the following exception was raised:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/sphinx/ext/autodoc.py", line 335, in import_object
__import__(self.modname)
File "/home/user/current/working/src/bill.py", line 4, in <module>
piface_obj = piface.PiFaceDigital()
File "/usr/local/lib/python2.7/dist-packages/pifacedigitalio/core.py", line 82, in __init__
self.init_board()
File "/usr/local/lib/python2.7/dist-packages/pifacedigitalio/core.py", line 107, in init_board
h=self.hardware_addr, b=self.bus, c=self.chip_select))
NoPiFaceDigitalDetectedError: No PiFace Digital board detected (hardware_addr=0, bus=0, chip_select=0).
有没有办法避免 Sphinx 解释代码而只解析源代码?我尝试pifacedigitalio/core.py
使用虚拟返回手动修改,但 Sphinx 只是冻结了。