我正在尝试使用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
我想念什么?
谢谢!
答案 0 :(得分:1)
没有名为src
的模块。它只是一个文件夹。 Test
类是在该文件夹中的test
模块(test.py)中定义的。
.. automodule:: test
应该适合您,并且conf.py中有sys.path.insert(0, os.path.abspath('D:/sphynx/scripts/src'))
。