automodule打破Python返回类型注释

时间:2014-05-27 22:31:16

标签: python python-sphinx

我正在尝试用Sphinx记录我的Python 3代码。这是我的示例文件:

class MyClass:
    """
    Class description
    """

    def get_name(self) -> str:
        """
        Returns the name of this object as a string.
        """
        return "Jim"

我在我的第一个文件中的指令是:

.. autoclass:: my_class.MyClass
   :members:

但是当我运行sphinx-build -b html -d _build/doctrees . _build/html(版本1.1.3)时,类型注释->会中断:

    def command_name(self) -> str:
                           ^
SyntaxError: invalid syntax

如何让Sphinx识别类型注释?

编辑:我的python3版本是3.2.3。

1 个答案:

答案 0 :(得分:0)

虽然自动模块可能无法识别Python 3注释,但构建不应该因使用它们而中断。我的问题是Sphinx正在使用我的python2.7解释器:

SyntaxError: invalid syntax
Traceback (most recent call last):on_osdp_messages
  File "/usr/lib/python2.7/dist-packages/sphinx/ext/autodoc.py", line 321, in import_object
    __import__(self.modname)

这可能意味着您安装了错误版本的Sphinx。请参阅this questionin my case我需要使用其他Debian软件包。)