@overrides 模块在 Python 中失败

按照这个不错的模块,我已经使用了至少一年,没有任何问题,我正在按照文档所说的那样做:

安装与pip install overrides

BaseSegmenter.py

from overrides import EnforceOverrides


class BaseSegmenter(EnforceOverrides):

    def __init__(self):

        pass


    def segment_defects(self):

        pass

DefectSegmenter.py


from defect_segmentation import BaseSegmenter

from overrides import overrides



class AutoencoderSegmenter(BaseSegmenter):

    def __init__(self):


    @overrides

    def segment_defects(self, inspected, warped, warp_mask):

        pass

这给了我


Traceback (most recent call last):

  File "C:/noam/autoencoder1/Main.py", line 10, in <module>

    from defect_segmentation.DefectSegmenter import AutoencoderSegmenter

  File "C:\noam\autoencoder1\defect_segmentation\DefectSegmenter.py", line 5, in <module>

    class AutoencoderSegmenter(BaseSegmenter):

  File "C:\noam\autoencoder1\defect_segmentation\DefectSegmenter.py", line 9, in AutoencoderSegmenter

    @overrides

  File "C:\noam\autoencoder1\venv\lib\site-packages\overrides\overrides.py", line 67, in overrides

    raise AssertionError('No super class method found for "%s"' % method.__name__)

AssertionError: No super class method found for "segment_defects"

当执行以下行时会发生这种情况:


from defect_segmentation.DefectSegmenter import AutoencoderSegmenter

我可能错过了一些基本的东西,但我的眼睛看到超级类确实有segment_defects......


慕桂英546537
浏览 102回答 1
1回答

喵喔喔

问题出在DefectSegmenter.pyfrom&nbsp;defect_segmentation&nbsp;import&nbsp;BaseSegmenter而不是正确的from&nbsp;defect_segmentation.BaseSegmenter&nbsp;import&nbsp;BaseSegmenter这是一个模块,而不是一个类。这使得模块中的反射失败@overrides。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python