我正在尝试用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。
答案 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 question(in my case我需要使用其他Debian软件包。)