- Modul.__init__() dauert höchstens 2 Argumenten Fehler in Python

Habe ich 3 Dateien, factory_imagenet.py, imdb.py und imagenet.py

factory_imagenet.py hat:

import datasets.imagenet

Es hat auch eine Funktion aufrufen, die als

datasets.imagenet.imagenet(split,devkit_path))
...

imdb.py hat:

class imdb(object):
def __init__(self, name):
    self._name = name
    ...

imagenet.py hat:

import datasets
import datasets.imagenet
import datasets.imdb

Es hat auch

class imagenet(datasets.imdb):
    def __init__(self, image_set, devkit_path=None):
        datasets.imdb.__init__(self, image_set)

Alle drei Dateien sind in dem Ordner datasets.

Wenn ich auf der anderen Skript, das interagiert mit diesen Dateien, ich bekomme diese Fehlermeldung:

Traceback (most recent call last):
  File "./tools/train_faster_rcnn_alt_opt.py", line 19, in <module>
    from datasets.factory_imagenet import get_imdb
  File "/mnt/data2/abhishek/py-faster-rcnn/tools/../lib/datasets/factory_imagenet.py", line 12, in <module>
    import datasets.imagenet
  File "/mnt/data2/abhishek/py-faster-rcnn/tools/../lib/datasets/imagenet.py", line 21, in <module>
    class imagenet(datasets.imdb):
TypeError: Error when calling the metaclass bases
module.__init__() takes at most 2 arguments (3 given)

Was ist hier das problem und was ist die intuitive Erklärung, wie man zur Lösung solcher Vererbung Probleme?

datasets.imdb ist ein Modul, nicht etwas zu verwenden, als Basis-Klasse.
So wie löse ich dieses?
entfernen (datasets.imdb)?

InformationsquelleAutor London guy | 2016-08-31

Schreibe einen Kommentar