¿Cómo instalar cPickle en Python 3.4?

46

Lo intenté sudo apt-get install cPickley python3.4-cPickleno funciona.

vincet
fuente
2
Supongo que instala un módulo de Python pip?
Rinzwind
¿Me puede dar el comando por favor
Vincet
8
AFAIK, en python 3, picklesolo se usa . Internamente se usará cpicklesi está disponible. Ver docs.python.org/3.1/whatsnew/3.0.html#library-changes
cshubhamrao el

Respuestas:

61

No hay cPickleen Python 3:

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.

- Fuente .

Paul Price
fuente
82

En python3.x cPickleha cambiado de cPicklea _pickle. Por lo tanto, en python3.x, puede hacer lo siguiente si desea usar cPickle:

import _pickle as cPickle

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.

Tshilidzi Mudau
fuente
44
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í .
Matt Pitkin el
@MattPitkin link rot, web.archive.org/web/20171008200414/http://… works.
Yaroslav Nikitenko
El enlace actualizado está aquí python-3-for-scientists.readthedocs.io/en/latest/…
Matt Pitkin