Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.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 使用接口包会导致issubclass()错误_Python_Interface - Fatal编程技术网

Python 使用接口包会导致issubclass()错误

Python 使用接口包会导致issubclass()错误,python,interface,Python,Interface,我现在正在做一个项目,我们决定使用这个库而不是abc。但是,当我运行程序时,会弹出以下错误: Traceback (most recent call last): File "runner.py", line 1, in <module> from exchanges import * File "/Users/**/Projects/jimmy/characterlib/__init__.py", line 2, in <module> from

我现在正在做一个项目,我们决定使用这个库而不是abc。但是,当我运行程序时,会弹出以下错误:

Traceback (most recent call last):
  File "runner.py", line 1, in <module>
    from exchanges import *
  File "/Users/**/Projects/jimmy/characterlib/__init__.py", line 2, in <module>
    from exchanges import hitbtc
  File "/Users/**/Projects/jimmy/characterlib/soldier.py", line 5, in <module>
    class Soldier(implements(ICharacter)):
  File "/usr/local/lib/python3.7/site-packages/interface/interface.py", line 490, in implements
    if not issubclass(I, Interface):
TypeError: issubclass() arg 1 must be a class
鱼类:

from interface import Interface

class ICharacter(Interface):
    def walk(self): pass
init.py:

import characterlib.ICharacter
import characterlib.Soldier
现在,正如您所看到的,非常简单的设置,但是,我无法使它正常运行。这怎么可能

有没有人对这个话题有更多的经验


谢谢。

您的
导入
有点错误

import characterlib.ICharacter as ICharacter
意味着
ICharacter
是一个模块,而不是接口。只需更改类声明即可解决此问题:

class Soldier(implements(ICharacter.ICharacter)):
    def walk(self):
        pass
class Soldier(implements(ICharacter.ICharacter)):
    def walk(self):
        pass