Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用Sphinx';什么是autodoc?_Python_Python 3.x_Python Sphinx_Inner Classes_Autodoc - Fatal编程技术网

Python 如何使用Sphinx';什么是autodoc?

Python 如何使用Sphinx';什么是autodoc?,python,python-3.x,python-sphinx,inner-classes,autodoc,Python,Python 3.x,Python Sphinx,Inner Classes,Autodoc,有没有办法用Sphinx的autodoc插件记录嵌套类 在: 我想在我的.rst文件中使用autoclass或类似的东西来记录A.B 我试过: .. currentmodule:: package.module .. autoclass:: A.B 及 没有成功: /path/to/file.rst:280: WARNING: autodoc: failed to import class 'B' from module 'package.module.A'; the following e

有没有办法用Sphinx的autodoc插件记录嵌套类

在:

我想在我的
.rst
文件中使用
autoclass
或类似的东西来记录
A.B

我试过:

.. currentmodule:: package.module

.. autoclass:: A.B

没有成功:

/path/to/file.rst:280: WARNING: autodoc: failed to import class 'B' from module 'package.module.A'; the following exception was raised:

...

Traceback (most recent call last):
  File "/usr/lib/python3.4/site-packages/sphinx/ext/autodoc.py", line 335, in import_object
    __import__(self.modname)
ImportError: No module named 'package.module.A'; 'package.module' is not a package
当然
A
不是一个模块;似乎
autoclass
正在考虑将上一个
之前的任何内容作为包和模块。

尝试:

。。自动类::包.模块::A.B


来源:

这并不是如何让Sphinx实现您想要的功能的答案,但是嵌套类在Python中非常少见,因此您可能会继续发现对它们的支持很差。你可以让你的课程不受欢迎,让斯芬克斯很容易地工作。是的,我知道。不幸的是,这些嵌套类是已经存在的API的一部分。下一个主要版本应该取消对它们的测试,但同时,我还必须记录它们。我创建了一个Sphinx。我们一直使用嵌套类,以尽可能保持全局名称空间的干净,并传递上下文。
.. autoclass:: package.module.A.B
/path/to/file.rst:280: WARNING: autodoc: failed to import class 'B' from module 'package.module.A'; the following exception was raised:

...

Traceback (most recent call last):
  File "/usr/lib/python3.4/site-packages/sphinx/ext/autodoc.py", line 335, in import_object
    __import__(self.modname)
ImportError: No module named 'package.module.A'; 'package.module' is not a package