Metaclass conflict
-
Please help. I have metaclass conflict that i don't know how to resolve. here is the error:
File "test_broker.py", line 17, in <module>
import mybroker
File "C:\Users\Administrator\Downloads\tests..\mytrader\mybroker.py", line 80, in <module>
class MyBroker(with_metaclass(MetaMyBrokerBroker, bt.BrokerBase)):
File "C:\Program Files\Python35\lib\site-packages\backtrader\utils\py3.py", line 132, in new
return meta(name, bases, d)
File "C:\Program Files\Python35\lib\site-packages\backtrader\metabase.py", line 216, in new
cls = super(MetaParams, meta).new(meta, name, bases, dct)
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its basesInside the mybroker, the MetaMyBrokerBroker is as follows: (I tried to use six, but it doesn't work)
import backtrader as bt
import mystore
from backtrader.metabase import MetaParams
from backtrader.utils.py3 import with_metaclass
#from six import with_metaclassclass MetaMyBrokerBroker(MetaParams):
def init(cls, name, bases, dct):
'''Class has already been created ... register'''
# Initialize the class
super(MetaMyBrokerBroker, cls).init(name, bases, dct)
mystore.MYStore.BrokerCls = clsclass MyBroker(with_metaclass(MetaMyBrokerBroker, bt.BrokerBase)):
passThanks a lot :)