【发布时间】:2019-09-12 10:07:43
【问题描述】:
我正在尝试使用 Sphinx 为某些 python 类生成文档 我有一个带有一个类的 python 脚本(带有一些文档)
我的python脚本在这里:D:\sphynx\scripts\src\test.py
不确定这是否正确,但这是我的 test.rst
.. automodule:: src
Base Class
----------
.. autoclass:: Test
:members:
modules.rst
scripts
=======
.. toctree::
:maxdepth: 4
test
class Test(object):
""" test docs
"""
def __init__(self, **kwargs):
"""Initialize a Test object.
"""
self._params = kwargs
def my_method(self, param):
""" method docs here
Args:
param: Input param.
Returns:
Test: Returns self.
"""
return self
index.rst
.. Test documentation master file, created by
sphinx-quickstart on Mon Sep 9 11:45:25 2019.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to Pets's documentation!
================================
.. toctree::
:maxdepth: 2
:caption: Contents:
modules
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
conf.py
import os
import sys
sys.path.insert(0, os.path.abspath('D:/sphynx/scripts'))
extensions = ['sphinx.ext.autodoc']
一旦我运行“make html”命令,我就会得到这个错误:
D:\sphynx>make html
...
reading sources... [100%] test
WARNING: autodoc: failed to import class 'Test' from module 'src'; the following exception was raised:
Traceback (most recent call last):
File "c:\anaconda3\lib\site-packages\sphinx\util\inspect.py", line 230, in safe_getattr
return getattr(obj, name, *defargs)
AttributeError: module 'src' has no attribute 'Test'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\anaconda3\lib\site-packages\sphinx\ext\autodoc\importer.py", line 71, in import_object
obj = attrgetter(obj, attrname)
File "c:\anaconda3\lib\site-packages\sphinx\ext\autodoc\__init__.py", line 226, in get_attr
return autodoc_attrgetter(self.env.app, obj, name, *defargs)
File "c:\anaconda3\lib\site-packages\sphinx\ext\autodoc\__init__.py", line 1501, in autodoc_attrgetter
return safe_getattr(obj, name, *defargs)
File "c:\anaconda3\lib\site-packages\sphinx\util\inspect.py", line 246, in safe_getattr
raise AttributeError(name)
AttributeError: Test
looking for now-outdated files... none found
我错过了什么?
提前致谢!
【问题讨论】:
-
据我所知,没有名为
src的模块。Test类在test模块 (test.py) 中定义。.. automodule:: test应该可以工作,sys.path.insert(0, os.path.abspath('D:/sphynx/scripts/src'))在 conf.py 中。
标签: python python-sphinx autodoc