2017-08-15 3 views
0

Qui peut m'aider avec cette exception?python AttributeError: la classe XXX n'a ​​pas d'attribut '__class__'

File "/root/anaconda2/lib/python2.7/site-packages/numba/dispatcher.py", line 305, in _compile_for_args 
argtypes.append(self.typeof_pyval(a)) 
File "/root/anaconda2/lib/python2.7/site-packages/numba/dispatcher.py", line 429, in typeof_pyval 
    File "/root/anaconda2/lib/python2.7/site-packages/numba/typing/typeof.py", line 28, in typeof 
ty = typeof_impl(val, c) 
File "/root/anaconda2/lib/python2.7/site-packages/singledispatch.py", line 210, in wrapper 
return dispatch(args[0].__class__)(*args, **kw) 
AttributeError: class FeatureEncoding has no attribute '__class__' 
+1

salut ajouter votre code s'il vous plaît –

+0

Apparemment yo Nous faisons ce que dit le message d'erreur: vous accédez à l'attribut '__class__' sur le premier argument de la ligne de commande (' args [0] ') qui n'est pas présent. Il est impossible de déboguer ceci sans le code incriminé. –

+1

En passant par le retraçage, cela semble être un bug. Essayez de mettre à niveau vers la dernière version de ce que vous utilisez. –

Répondre

0

Toutes les instances n'ont pas d'attribut __class__. Juste une recommandation générale: Dans la plupart des cas, il est préférable d'utiliser type au lieu de __class__ néanmoins.

Par exemple les classes de style ancien ne sont pas une classe:

>>> class A: 
... pass 
... 
>>> A.__class__ 
AttributeError: class A has no attribute '__class__' 

>>> int.__class__ # just for comparison the class of the int class 
<type 'type'> 

Mais type œuvres:

>>> type(A) 
<type 'classobj'> 

Remarque: des instances de classes de style ancien ont l'attribut __class__

>>> a = A() 
>>> a.__class__ 
<class __main__.A at 0x0000000002E61168>