我正在尝试生成SWIG在C代码上生成的一些python接口模块的文档。我在SWIG接口文件(* .i)中使用%feature(docstring)
指令,如上所述:
Sphinx and documenting python from a swigged C++ api
SWIG正在生成的python模块中生成docstrings。
但是当我尝试从SWIG生成的python模块生成文档时,它会抛出异常:
/home/imitra/testdoc/doc/test_module.rst:4: WARNING: autodoc: failed to import module u'test_module'; the following exception was raised:
Traceback (most recent call last):
File "/home/imitra/.local/lib/python2.7/site-packages/sphinx/ext/autodoc.py", line 658, in import_object
__import__(self.modname)
File "/home/imitra/testdoc/generated/test_module.py", line 3, in <module>
_test_module = swig_import_helper()
File "/home/imitra/testdoc/generated/test_module.py", line 25, in swig_import_helper
return importlib.import_module('_test_module')
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named _tiger
当Sphinx尝试导入test_module.py并执行SWIG生成的代码时,会发生这种情况。
有解决这个问题的方法吗? 我是SWIG和Sphinx的新手。 请分享您的想法。
答案 0 :(得分:0)
我在ReadTheDocs.io上遇到类似的错误(在构建Sphinx时),就像我忘记更新 requirements.txt -file时一样。然后RTD不知道安装所有依赖项。
我对Sphinx在C ++或SWIG方面的了解不多,或者它是否适用于您的问题。