Como instalar o cPickle no Python 3.4?

46

Eu tentei sudo apt-get install cPicklee python3.4-cPicklemas não funciona.

vincet
fonte
2
Eu diria que você instala um módulo python com pip?
Rinzwind
você pode me dar o comando favor
VINCET
8
AFAIK, no python 3, você usa pickleapenas. Internamente, ele será usado, cpicklese disponível. Veja docs.python.org/3.1/whatsnew/3.0.html#library-changes
cshubhamrao

Respostas:

61

Não existe cPickleno python 3:

Um padrão comum no Python 2.x é ter uma versão de um módulo implementada no Python puro, com uma versão acelerada opcional implementada como uma extensão C; por exemplo, pickle e cPickle. Isso coloca o ônus de importar a versão acelerada e recair na versão pura do Python em cada usuário desses módulos. No Python 3.0, as versões aceleradas são consideradas detalhes de implementação das versões puras do Python. Os usuários sempre devem importar a versão padrão, que tenta importar a versão acelerada e volta para a versão pura do Python. O par pickle / cPickle recebeu esse tratamento.

- Fonte .

Paul Price
fonte
82

No python3.x cPicklefoi alterado de cPicklepara _pickle. Assim, em python3.x, você pode fazer o seguinte se quiser usar cPickle:

import _pickle as cPickle

No entanto, no Python 3.x, é mais fácil usar pickle.

Não há necessidade de instalar nada. Se algo exigir cPickleno python 3.x, provavelmente isso é um bug.

Tshilidzi Mudau
fonte
4
Para também manter a compatibilidade com o python 2.X, você pode usar seis e importar com: import six; from six.moves import cPickle as pickleconforme descrito aqui .
precisa
@MattPitkin link rot, web.archive.org/web/20171008200414/http://… funciona.
Yaroslav Nikitenko
O link atualizado está aqui python-3-for-scientists.readthedocs.io/en/latest/…
Matt Pitkin