TypeError:调用元类bases modu时出错

2024-10-01 07:30:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我得到以下错误:

Traceback (most recent call last):
  File "/Users/user/repos/prodigy/Sweeper/envsweeper/lib/python2.7/site-packages/nose/loader.py", line 414, in loadTestsFromName
    addr.filename, addr.module)
  File "/Users/user/repos/dr/Sweeper/envsweeper/lib/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/Users/user/repos/prodigy/Sweeper/envsweeper/lib/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/Users/user/repos/dr/Sweeper/test.py", line 5, in <module>
    from SomethingSubclass import SomethingSubclass
      File "/Users/user/repos/dr/Something/SomethingSubclass.py", line 18, in <module>
    class SomethingSubclass(SomethingBaseclass):

TypeError: Error when calling the metaclass bases
    module.__init__() takes at most 2 arguments (3 given)

这是Base类中的代码:

^{pr2}$

这将是SubClass中引发错误的代码,文件名:SubClass.py

import os
import sys
import inspect
import Sweeper
CURRENTDIR = os.path.dirname(
    os.path.abspath(inspect.getfile(inspect.currentframe())))
parentdir = os.path.dirname(CURRENTDIR)
sys.path.insert(0, parentdir)
from libs.deterministic import electrum_privkey
from libs.transaction import sign, mksend
import logging
sys.path.insert(0, CURRENTDIR)


class SubClass(BaseClass):
    def __init__(self, address, fee, msg_body):
        BaseClass.__init__(self, address, fee, msg_body)

子类是如何实例化的:

....           
module = __import__('SubClass')
class_ = getattr(module, 'SubClass')

有什么问题的线索吗?在


Tags: pathinpyimportoslineusersrepos
1条回答
网友
1楼 · 发布于 2024-10-01 07:30:23
from module'name import class'name

不要使用

^{pr2}$

如果您的模块和类具有相同的名称。 这会混淆不同的名字。在

相关问题 更多 >