Si una clase de Python 3 se escanea utilizando el protocolo 2, se supone que funciona en Python 2, pero lamentablemente esto falla porque los nombres de algunas clases han cambiado.Eliminación de clases de Python 3 en Python 2
Supongamos que tenemos un código llamado de la siguiente manera.
remitente
pickle.dumps(obj,2)
Receptor
pickle.loads(atom)
para dar un caso específico, si obj={}
, entonces el error dado es:
ImportError: No module named builtins
Esto es porque Python 2 utiliza __builtin__
en vez .
La pregunta es la mejor manera de solucionar este problema.