ImportError: No module named ‘cPickle’ python 3

SOLUZIONI

Il problema si manifesta, perché  in  Python 3 non esiste cPickle bensì pickle. Per risolvere il problema sarà sufficiente pertanto importare la libreria nel modo corretto.

import pickle as cPickle

qualora si volesse mantenere la compatibilità anche com python 2 , si può  fare qualcosa del genere effettuando un import condizionale

from packaging import version

if sys.version_info[0] >= 3:
   import pickle as cPickle
else:
   import cPickle

ma cosa è cPickle?

cPickle è una versione ottimizzata di pickle,  scritto in C;  Pickle è un modulo per la serializzazione  di oggetti in Python, anche se c’è da dire che python ha un modulo di serializzazione più primitivo chiamato marshal. Non voglio entrare nei dettagli, per cui, chi volesse approfondire può dare un occhio a questo articolo.

 

Comments