Intenté subclase de subprocesos. El estado anterior hoy pero no funcionó. Aquí está la salida del intérprete de Python cuando intento subclase de la clase threading.Condition:Error al llamar a las bases de la metaclase: el argumento de la función() 1 debe ser código, no str
>>> import threading
>>> class ThisWontWork(threading.Condition):
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Error when calling the metaclass bases
function() argument 1 must be code, not str
¿Puede alguien explicar este error? ¡Gracias!
Extraño, no pensé en comprobar su tipo. Los documentos parecen ser un poco engañosos porque dicen (http://docs.python.org/library/threading.html) "class threading.Condition ([lock])", que parece un poco engañoso. De todos modos, gracias por aclarar esto :). –
Lo veo también cuando, por error, uso un módulo como clase base: clase Command (main.cmdroot.list.hosts) en lugar de la orden correcta (main.cmdroot.list.hosts.Command) – FDS
Otra causa común es cuando se deriva de una clase base que tiene un decorador. El decorador puede cambiar el tipo de la clase base a 'tipo <'function'>' también. –