"metaclass conflict" error: where is noconflict ?

Michele Simionato michele.simionato at gmail.com
Fri Feb 20 00:22:49 EST 2009


On Feb 19, 9:58 pm, Chris Rebert <c... at rebertia.com> wrote:
> On Thu, Feb 19, 2009 at 5:01 AM, Barak, Ron <Ron.Ba... at lsi.com> wrote:
> > Hi,
>
> > I have a class derived from two parents (in blue below), which gives me the
> > following error:
>
> > $ python -u ./failover_pickle_demo09.py
> > Traceback (most recent call last):
> >   File "./failover_pickle_demo09.py", line 291, in <module>
> >     class ListControl(wx.Frame, CopyAndPaste):
> > TypeError: Error when calling the metaclass bases
> >     metaclass conflict: the metaclass of a derived class must be a
> > (non-strict) subclass of the metaclasses of all its bases
> > Googling suggested I should add
> > from noconflict import classmaker
> > and
>
> > __metaclass__=classmaker()
> > to this class.
>
> > However, I don't seem able to find where to get the noconflict module from.
>
> > Do any of you where noconflict  could be downloaded/installed from ?


It refers to this cookbook recipe:
http://code.activestate.com/recipes/204197/

See also the printed cookbook:

http://books.google.it/books?id=1Shx_VXS6ioC&pg=PA786&lpg=PA786&dq=python+cookbook+noconflict&source=bl&ots=BB413AZ8R7&sig=cnAB-E9rNFolHBEZQTIm_d4Mj3o&hl=it&ei=GT2eSfCtBdWa_gadppHYCw&sa=X&oi=book_result&resnum=2&ct=result#PPA786,M1

However, there is no module to download, and this is on purpose:
instead of blindly apply a "fix" one should
understand what the conflict is: then it is quite easy to
solve it by hand. The recipe discussion explains it all.



More information about the Python-list mailing list