Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.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
Sphinx Python导入错误:无法导入名称_Python_Python Sphinx - Fatal编程技术网

Sphinx Python导入错误:无法导入名称

Sphinx Python导入错误:无法导入名称,python,python-sphinx,Python,Python Sphinx,我正在使用。执行命令make html时,定义抽象类或从抽象类派生的文件出错 错误 文件:Node.py from foo.bar import abstractNode class Node(abstractNode): ''' implementation of abstract parent ''' def moduleNode(self, parameter=[]): ''' implementation written

我正在使用。执行命令
make html
时,定义抽象类或从抽象类派生的文件出错

错误 文件:
Node.py

from foo.bar import abstractNode

class Node(abstractNode):
    '''
    implementation of abstract parent
    '''

    def moduleNode(self, parameter=[]):
        '''
        implementation written here
        '''
        pass
结果是,这些抽象类依赖关系的文档几乎为空,而不使用ABC的类则可以

导入任何其他包都没有问题。

感谢和。您确实发现了问题:

尽管ABC和抽象类在中定义,并且在/usr/lib/python2.7中存在,但您必须强制sphinx使用Python3.x

不幸的是,我还没有找到一种优雅的方法来解决这个问题,但我下面介绍的方法解决了这个问题:

  • 卸载斯芬克斯
  • 使用python3安装狮身人面像:

    sudo apt-get install python3-sphinx
    

    (与
    pythonsphinx
    pip安装相比)

  • 按照您习惯的方式创建sphinx文档

  • (也许有人有更好的办法强迫sphinx使用Python3.x?

    foo.py
    相关的
    abc
    模块在哪里?这可能是循环进口吗?没有软件包的源代码是不可能的。是python标准库的一部分,因此它位于
    /usr/lib/python[version]
    ,版本为2.7、3.5或任何其他已安装的python版本,与其他模块(如
    os
    pickle
    )一起使用。这就是为什么我没有在问题中写它,也是为什么我如此困惑的原因模块
    ABC
    中的类
    ABC
    比Python 2.7更新。它不适用于Python2,只适用于Python3。您的代码适用于Python3.4或更高版本(ABC类是在3.4中添加的),但您可以使用Python2.7运行Sphinx。
    from foo.bar import abstractNode
    
    class Node(abstractNode):
        '''
        implementation of abstract parent
        '''
    
        def moduleNode(self, parameter=[]):
            '''
            implementation written here
            '''
            pass
    
    sudo apt-get install python3-sphinx
    
    sudo pip3 install sphinx