Un patrón común en Python 2.x es tener una versión de un módulo implementada en Python puro, con una versión acelerada opcional implementada como una extensión C; por ejemplo, pickle y cPickle. Esto coloca la carga de importar la versión acelerada y recurrir a la versión pura de Python en cada usuario de estos módulos. En Python 3.0, las versiones aceleradas se consideran detalles de implementación de las versiones puras de Python. Los usuarios siempre deben importar la versión estándar, que intenta importar la versión acelerada y recurre a la versión pura de Python. El par pickle / cPickle recibió este tratamiento.
Para mantener también la compatibilidad con python 2.X, puede usar seis e importar con: import six; from six.moves import cPickle as picklecomo se describe aquí .
pip?picklesolo se usa . Internamente se usarácpicklesi está disponible. Ver docs.python.org/3.1/whatsnew/3.0.html#library-changesRespuestas:
No hay
cPickleen Python 3:- Fuente .
fuente
En python3.x
cPickleha cambiado decPicklea_pickle. Por lo tanto, en python3.x, puede hacer lo siguiente si desea usarcPickle:Sin embargo, en Python 3.x, es más fácil usar pickle.
No es necesario instalar nada. Si algo requiere
cPickleen python 3.x, entonces probablemente sea un error.fuente
import six; from six.moves import cPickle as picklecomo se describe aquí .