我正在使用Sphinx。当执行命令make html
时,我定义抽象类或从抽象类派生的文件得到一个错误。在
File "/usr/lib/python2.7/dist-packages/sphinx/ext/autodoc.py", line 529
in import_object
__import__(self.module)
File "/home/pi/.../abstractNode.py", line 6, in <module>
from abc import ABC, abstractclassmethod
ImportError: cannot import name ABC
最小示例:
文件:abstractNode.py
文件:Node.py
from foo.bar import abstractNode
class Node(abstractNode):
'''
implementation of abstract parent
'''
def moduleNode(self, parameter=[]):
'''
implementation written here
'''
pass
结果是,这些抽象类依赖关系的文档几乎是空的,而不使用ABC的类就可以了。在
导入其他包没有任何问题。在
感谢pierre-de-buyl和{a2}。你确实发现了问题:
尽管ABC和抽象类是在2.7 documentation中定义的,并且存在于/usr/lib/python2.7中,但是必须强制sphinx使用python3.x
不幸的是,我还没有找到一个优雅的方法来做到这一点,但我下面描述的方法解决了这个问题:
用python3安装狮身人面像:
或者
^{pr2}$(与}相反)
python-sphinx
或{(也许有人有一个更好的主意来强迫斯芬克斯使用python3.x?)在
相关问题 更多 >
编程相关推荐